time="2025-04-28T14:14:39Z" 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-authentication-1 Creating Container integration-test-authorization-1 Creating Container integration-test-experiment-1 Creating Container integration-test-device-1 Creating Container integration-test-federation-1 Creating Container integration-test-gateway-1 Creating Container integration-test-federation-1 Created Container integration-test-device-1 Created Container integration-test-experiment-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/lti_service.conf to /etc/nginx/lti_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation 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-04-28T14:15:26Z"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} 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:43828","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-04-28T14:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:43828","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.321892,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:26Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1745849726.6730113} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1745849726.6740193} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1745849726.6740394} 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":1745849726.6740673} 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":1745849726.6740887} 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":1745849726.6741283,"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":1745849726.6765354} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1745849726.677822} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} 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:55808","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-04-28T14:15:26.695010081Z","id":"01JSYC1DQ6YXRMND6N0NWDM9EH","name":"crosslab","updated_at":"2025-04-28T14:15:26.695010081Z"},"request_id":"5c1f62de-aba2-417a-86e7-be35b4017778","subsystem":"openfga","timestamp":1745849726.695106} 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:55808","raw_request":{"schema_version":"1.1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JSYC1DSSMS51CNY8A9MGF2MZ"},"request_id":"4495988f-0e25-47ca-ae9e-147f441169e6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849726.7780569} authorization-1 | {"client_addr":"127.0.0.1:43828","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-04-28T14:15:26Z"} authorization-1 | {"client_addr":"127.0.0.1:43828","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.263393,"resp_status":204,"subsystem":"opa","time":"2025-04-28T14:15:26Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.3.0/opa_linux_amd64","latest_version":"1.3.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.3.0","subsystem":"opa","time":"2025-04-28T14:15:26Z"} gateway-1 | {"time_local":"28/Apr/2025:14:15:42 +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.009","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"3642ad004f1bf6583bc8938cb7663841"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 6ms","method":"HEAD","requestID":"3642ad004f1bf6583bc8938cb7663841","responseTime":6,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"28/Apr/2025:14:15:42 +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.031","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e07044b7a46fef6cf3cd5f02a1564637"} device-1 | {"level":"info","message":"HEAD /device/status 200 27ms","method":"HEAD","requestID":"44ff7c70-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"28/Apr/2025:14:15:42 +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":"c784a1c7b5bb433c8091e576884a839d"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 3ms","method":"HEAD","requestID":"c784a1c7b5bb433c8091e576884a839d","responseTime":3,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"28/Apr/2025:14:15:42 +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.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"7ca3d364db43167edf91bceb3646fa72"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 27ms","method":"HEAD","requestID":"4506f680-243b-11f0-8941-6376fe4cc890","responseTime":27,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"28/Apr/2025:14:15:42 +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.012","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"652b8fe36eb37ae6792b432c19d79531"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 7ms","method":"HEAD","requestID":"450c9bd0-243b-11f0-9028-e998a854bdbf","responseTime":7,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"28/Apr/2025:14:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2c58a4b4a4012c59c700dda98f12e89c"} authentication-1 | {"level":"info","message":"POST /login 201 147ms","method":"POST","requestID":"2c58a4b4a4012c59c700dda98f12e89c","responseTime":147,"status":201,"url":"/login"} device-1 | {"level":"info","message":"postDevices called","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1MH0.qNJNcLFXylPdE_CYCnD_Wfj4D4EcjoFDto7-ePJs200","level":"info","message":"auth send jwt","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d"} authentication-1 | {"level":"info","message":"GET /auth 200 71ms","method":"GET","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d","responseTime":71,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.161732,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a4dfa73a6a191505d2c06eb06ed1a23d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849750,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1MH0.qNJNcLFXylPdE_CYCnD_Wfj4D4EcjoFDto7-ePJs200"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","method":"POST","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d","responseTime":17,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"49f613ae-5387-4fa5-bc6d-d0068a3650fc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.1840467} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d","responseTime":9,"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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed683f85-2df1-469b-9889-b661c21a3106","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.1979113} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"d3284797-dcb6-429f-a478-35bce55f1377","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.2166111} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71ee6808-a5ac-4b66-9855-bba0f70f39fe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.2433746} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d","responseTime":48,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.216590758Z"}]},"request_id":"3e32c50c-1ee0-4f9b-a4ba-ced8e1b441a2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.250075} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d"} gateway-1 | {"time_local":"28/Apr/2025:14:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.254","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d"} device-1 | {"level":"info","message":"POST /devices? 201 198ms","method":"POST","requestID":"a4dfa73a6a191505d2c06eb06ed1a23d","responseTime":198,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1MH0.qNJNcLFXylPdE_CYCnD_Wfj4D4EcjoFDto7-ePJs200","level":"info","message":"auth send jwt","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:50Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.74153,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849750,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1MH0.qNJNcLFXylPdE_CYCnD_Wfj4D4EcjoFDto7-ePJs200"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"70f6a487-fe9e-4d2b-a9f0-db9efbe56b68","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.3469102} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6f788c5-fd9e-492a-8f49-456fc83dd942","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.3568983} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"851dbb20-e93e-4f2a-ac6d-f56730df6a04","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.3933256} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e2ab318-944e-4e2b-a082-2ddd3761a690","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.3937166} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.393314996Z"}]},"request_id":"a20472d9-62f2-492e-8827-66ee1dfb89ae","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849750.4019363} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2"} gateway-1 | {"time_local":"28/Apr/2025:14:15:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2"} device-1 | {"level":"info","message":"POST /devices? 201 104ms","method":"POST","requestID":"e4a6bfbe7acc5ee40f26271b7bab60b2","responseTime":104,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"82f1a4a7fca413bec6b732ec9a11511e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"82f1a4a7fca413bec6b732ec9a11511e","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0e19a995-3332-4afe-ba51-00312a2abb12/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.010","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"82f1a4a7fca413bec6b732ec9a11511e"} device-1 | {"level":"info","message":"OPTIONS /devices/0e19a995-3332-4afe-ba51-00312a2abb12/websocket 200 3ms","method":"OPTIONS","requestID":"82f1a4a7fca413bec6b732ec9a11511e","responseTime":3,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY","level":"info","message":"auth send jwt","requestID":"da8e73a1499c09f5b4ea9d85fe6255b4"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"da8e73a1499c09f5b4ea9d85fe6255b4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"da8e73a1499c09f5b4ea9d85fe6255b4"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706748,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"da8e73a1499c09f5b4ea9d85fe6255b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"da8e73a1499c09f5b4ea9d85fe6255b4","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"48aa846897abea10ef59fb462f89b9f5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"48aa846897abea10ef59fb462f89b9f5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.009","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":"48aa846897abea10ef59fb462f89b9f5"} device-1 | {"level":"info","message":"OPTIONS /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/websocket 200 1ms","method":"OPTIONS","requestID":"48aa846897abea10ef59fb462f89b9f5","responseTime":1,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY","level":"info","message":"auth send jwt","requestID":"5c8f62af9071a01d9953f7a7a67b9eb8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5c8f62af9071a01d9953f7a7a67b9eb8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5c8f62af9071a01d9953f7a7a67b9eb8"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745489,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c8f62af9071a01d9953f7a7a67b9eb8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5c8f62af9071a01d9953f7a7a67b9eb8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"da8e73a1499c09f5b4ea9d85fe6255b4"} gateway-1 | {"time_local":"28/Apr/2025:14:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0e19a995-3332-4afe-ba51-00312a2abb12/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"da8e73a1499c09f5b4ea9d85fe6255b4"} device-1 | {"level":"info","message":"POST /devices/0e19a995-3332-4afe-ba51-00312a2abb12/websocket 200 38ms","method":"POST","requestID":"da8e73a1499c09f5b4ea9d85fe6255b4","responseTime":38,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5c8f62af9071a01d9953f7a7a67b9eb8"} device-1 | {"level":"info","message":"POST /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/websocket 200 35ms","method":"POST","requestID":"5c8f62af9071a01d9953f7a7a67b9eb8","responseTime":35,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/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":"5c8f62af9071a01d9953f7a7a67b9eb8"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY","level":"info","message":"auth send jwt","requestID":"155f17c05a77f1d003e9072274a9362a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"155f17c05a77f1d003e9072274a9362a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"155f17c05a77f1d003e9072274a9362a"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692388,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"155f17c05a77f1d003e9072274a9362a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"155f17c05a77f1d003e9072274a9362a","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.216590758Z"}]},"request_id":"60956db5-d041-4aef-b8e7-517e8a456f61","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.2216446} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"155f17c05a77f1d003e9072274a9362a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"155f17c05a77f1d003e9072274a9362a"} gateway-1 | {"time_local":"28/Apr/2025:14:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0e19a995-3332-4afe-ba51-00312a2abb12? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"155f17c05a77f1d003e9072274a9362a"} device-1 | {"level":"info","message":"GET /devices/0e19a995-3332-4afe-ba51-00312a2abb12? 200 40ms","method":"GET","requestID":"155f17c05a77f1d003e9072274a9362a","responseTime":40,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY","level":"info","message":"auth send jwt","requestID":"2df995ca227897bf25f1e1370ced1a73"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2df995ca227897bf25f1e1370ced1a73","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2df995ca227897bf25f1e1370ced1a73"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727089,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2df995ca227897bf25f1e1370ced1a73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2df995ca227897bf25f1e1370ced1a73","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.393314996Z"}]},"request_id":"efbc0bc8-ca7a-4b1a-9be1-7ea9c959ecb6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.2672951} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2df995ca227897bf25f1e1370ced1a73","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2df995ca227897bf25f1e1370ced1a73"} gateway-1 | {"time_local":"28/Apr/2025:14:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc? 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":"2df995ca227897bf25f1e1370ced1a73"} device-1 | {"level":"info","message":"GET /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc? 200 33ms","method":"GET","requestID":"2df995ca227897bf25f1e1370ced1a73","responseTime":33,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY","level":"info","message":"auth send jwt","requestID":"66410465ee02555bee978e05e9a01b84"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66410465ee02555bee978e05e9a01b84","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"66410465ee02555bee978e05e9a01b84"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.888423,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"66410465ee02555bee978e05e9a01b84","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"66410465ee02555bee978e05e9a01b84","responseTime":26,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Attempting to run experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Attempting to book experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Successfully booked experiment","requestID":"66410465ee02555bee978e05e9a01b84"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b670b00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b673210-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71315,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4b670b00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4b670b00-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.265257,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4b673210-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"4b673210-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.216590758Z"}]},"request_id":"0f73f4ec-1449-4b10-ade3-278ef797f196","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.5572615} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4b670b00-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.393314996Z"}]},"request_id":"96b713b1-1e44-4bfe-9889-1d44dd8c8d8f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.558314} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4b673210-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b670b00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/0e19a995-3332-4afe-ba51-00312a2abb12? 200 43ms","method":"GET","requestID":"4b670b00-243b-11f0-b067-2fe344ae06f8","responseTime":43,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b673210-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc? 200 43ms","method":"GET","requestID":"4b673210-243b-11f0-b067-2fe344ae06f8","responseTime":43,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Setting up experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Successfully locked booking for experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Attempting to update booking for experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Successfully updated booking for experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Successfully set up experiment","requestID":"66410465ee02555bee978e05e9a01b84"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b79cfb0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b7a1dd0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.057066,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Successfully running experiment","requestID":"66410465ee02555bee978e05e9a01b84"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4b79cfb0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4b79cfb0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780229,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b7a6bf0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4b7a1dd0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4b7a1dd0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bca0a51a-be8c-4732-be63-085d280861b6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.659189} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.216590758Z"}]},"request_id":"d7531ca6-1686-436b-8273-d1302672edff","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.6596074} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4b79cfb0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.045977,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4b7a6bf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","object_type":"device","rebac_allow":false,"scope_allow":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":"4b7a6bf0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.393314996Z"}]},"request_id":"81aa595f-863d-4bc7-8912-39667a551da5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.6612575} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b79cfb0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/0e19a995-3332-4afe-ba51-00312a2abb12? 200 26ms","method":"GET","requestID":"4b79cfb0-243b-11f0-b067-2fe344ae06f8","responseTime":26,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 10ms","method":"POST","requestID":"4b7a1dd0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b7a6bf0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc7ac13d5-bccf-42cb-91e1-812451194551#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc7ac13d5-bccf-42cb-91e1-812451194551","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"4a738d24-6556-4b05-94f9-8656b91fba79","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.6726596} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81f4bdc4-7271-4f28-b191-37e5ddc0d404","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.6974382} device-1 | {"level":"info","message":"POST /devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling 200 50ms","method":"POST","requestID":"4b7a6bf0-243b-11f0-b067-2fe344ae06f8","responseTime":50,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b7a1dd0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc? 200 56ms","method":"GET","requestID":"4b7a1dd0-243b-11f0-b067-2fe344ae06f8","responseTime":56,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","method":"POST","requestID":"66410465ee02555bee978e05e9a01b84","responseTime":49,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b82d060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b831e80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fcd5ae89-b20b-4938-9d46-0f962e2ea1fc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.7079785} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.756521,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4b82d060-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","rebac_allow":false,"scope_allow":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":"4b82d060-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07ec4f2d-747e-4566-98d5-6f58e689b7ea","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.7096956} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.821042,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4b831e80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","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/c7ac13d5-bccf-42cb-91e1-812451194551","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"66410465ee02555bee978e05e9a01b84"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"4b831e80-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b82d060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/signaling 200 12ms","method":"POST","requestID":"4b82d060-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/signaling"} gateway-1 | {"time_local":"28/Apr/2025:14:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.440","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"level":"info","message":"POST /experiments? 201 425ms","method":"POST","requestID":"66410465ee02555bee978e05e9a01b84","responseTime":425,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b831e80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling 200 13ms","method":"POST","requestID":"4b831e80-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4b896010-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY","level":"info","message":"auth send jwt","requestID":"4205cefd9964d47b79ded62c82f9c084"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4205cefd9964d47b79ded62c82f9c084","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4205cefd9964d47b79ded62c82f9c084"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9bafadc1-73ef-4221-8a8c-ec765bcf9201","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.7501862} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465915,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761557,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4b896010-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","rebac_allow":false,"scope_allow":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":"4b896010-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4205cefd9964d47b79ded62c82f9c084","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4205cefd9964d47b79ded62c82f9c084","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4b896010-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/signaling 200 11ms","method":"POST","requestID":"4b896010-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.216590758Z"}]},"request_id":"c3fe5fa6-018f-4e25-8f1e-9c1a9a6ef087","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.758479} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Building connection plan","requestID":"66410465ee02555bee978e05e9a01b84"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4205cefd9964d47b79ded62c82f9c084","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"13418a86-fd48-49d3-adf5-8fb55f9feace"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"a335fc0d-ba7a-4c51-998d-28219de3441d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ddd74c0a-82b8-48ff-be4d-799855a94161"}]},"level":"info","message":"Built pairwise service configurations","requestID":"66410465ee02555bee978e05e9a01b84"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"66410465ee02555bee978e05e9a01b84"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4205cefd9964d47b79ded62c82f9c084"} gateway-1 | {"time_local":"28/Apr/2025:14:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0e19a995-3332-4afe-ba51-00312a2abb12? 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":"4205cefd9964d47b79ded62c82f9c084"} device-1 | {"level":"info","message":"GET /devices/0e19a995-3332-4afe-ba51-00312a2abb12? 200 14ms","method":"GET","requestID":"4205cefd9964d47b79ded62c82f9c084","responseTime":14,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4b8c9460-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY","level":"info","message":"auth send jwt","requestID":"70f39f6203d369d36c919806a5f8aa3c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"70f39f6203d369d36c919806a5f8aa3c"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"70f39f6203d369d36c919806a5f8aa3c","responseTime":28,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.063436,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4b8c9460-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4b8c9460-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.666506,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"70f39f6203d369d36c919806a5f8aa3c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849753,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1M30.SCOB4eAcZVQTPBUpws2Nzk6PmsM3JLuHAkimN0ccQrY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"70f39f6203d369d36c919806a5f8aa3c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:50.393314996Z"}]},"request_id":"8a55512b-b340-4cc5-ab68-05d6d96fa535","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.8024678} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"70f39f6203d369d36c919806a5f8aa3c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"70f39f6203d369d36c919806a5f8aa3c"} gateway-1 | {"time_local":"28/Apr/2025:14:15:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc? 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":"70f39f6203d369d36c919806a5f8aa3c"} device-1 | {"level":"info","message":"GET /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc? 200 17ms","method":"GET","requestID":"70f39f6203d369d36c919806a5f8aa3c","responseTime":17,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"a40438c7-59a9-465d-97b7-b8d750d4e687","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.854708} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef1c8cb3-c773-4fa4-aa52-29f079d247d6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.8549767} authorization-1 | {"level":"info","message":"POST /relations/update 200 52ms","method":"POST","requestID":"4b8c9460-243b-11f0-b067-2fe344ae06f8","responseTime":52,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4b8c9460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4b8c9460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c'","requestID":"4b8c9460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c'","requestID":"4b8c9460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4b8c9460-243b-11f0-b067-2fe344ae06f8"} 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":"4b8c9460-243b-11f0-b067-2fe344ae06f8","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":"4b8c9460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","device":"0e19a995-3332-4afe-ba51-00312a2abb12","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/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","device":"d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","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/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"66410465ee02555bee978e05e9a01b84"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ba23f40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8902e723-3dfa-4819-b299-c14db7004539","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.9132185} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.848167,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4ba23f40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","object_type":"device","rebac_allow":false,"scope_allow":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":"4ba23f40-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ba23f40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling 200 15ms","method":"POST","requestID":"4ba23f40-243b-11f0-b067-2fe344ae06f8","responseTime":15,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ba4d750-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"498a3783-301e-427c-acd6-4755ec424e93","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849753.9303117} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.319397,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4ba4d750-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","rebac_allow":false,"scope_allow":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":"4ba4d750-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ba4d750-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/signaling 200 11ms","method":"POST","requestID":"4ba4d750-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/signaling"} device-1 | {"device":"0e19a995-3332-4afe-ba51-00312a2abb12","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0e19a995-3332-4afe-ba51-00312a2abb12","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1925990075887942359 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:soEA\r\na=ice-pwd:e6wvOvoQYEz7CawyGEKYevwQ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C8:C2:2C:2E:8C:69:E5:E9:74:4B:27:A3:50:CB:4E:2C:1B:14:87:66:37:AC:F0:A2:2A:72:55:08:1F:68:3E:57\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3422196077176199407 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:RCLe\r\na=ice-pwd:ZJ53CBpGoRrV3qXh6ocA0IXI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 93:3C:B0:D3:48:C3:E1:FB:00:7E:B5:14:3A:34:9F:1F:20:41:11:34:E9:C0:8B:24:21:D3:7F:0D:58:70:7C:1F\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"0e19a995-3332-4afe-ba51-00312a2abb12","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1259161675 1 udp 2113937151 3f472c76-1974-4764-a60c-beb24ea32c83.local 53788 typ host generation 0 ufrag RCLe network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0e19a995-3332-4afe-ba51-00312a2abb12","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/0e19a995-3332-4afe-ba51-00312a2abb12'"} device-1 | {"content":{"candidate":"candidate:2681441509 1 udp 2113937151 c987449b-302e-4ef5-adcd-d2ea5dad0867.local 51620 typ host generation 0 ufrag soEA network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"0e19a995-3332-4afe-ba51-00312a2abb12","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/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0e19a995-3332-4afe-ba51-00312a2abb12","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"0e19a995-3332-4afe-ba51-00312a2abb12","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0e19a995-3332-4afe-ba51-00312a2abb12","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cbd90d9d43c0821ef32533ff944350c2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"cbd90d9d43c0821ef32533ff944350c2","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":"new","url":"http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c"}}},"level":"info","message":"received a callback","requestID":"cbd90d9d43c0821ef32533ff944350c2"} device-1 | {"data":{"peerconnection":"3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"cbd90d9d43c0821ef32533ff944350c2","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"cbd90d9d43c0821ef32533ff944350c2"} device-1 | {"data":{"peerconnection":"3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","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/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4b72821a00e349dd0170793921da1212","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4b72821a00e349dd0170793921da1212","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/0e19a995-3332-4afe-ba51-00312a2abb12"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c"}}},"level":"info","message":"received a callback","requestID":"4b72821a00e349dd0170793921da1212"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0","level":"info","message":"auth send jwt","requestID":"3e84e2a656e8c7089798f8642b975018"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e84e2a656e8c7089798f8642b975018","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c7ac13d5-bccf-42cb-91e1-812451194551","requestID":"3e84e2a656e8c7089798f8642b975018"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4bc5f3e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.63083,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"3e84e2a656e8c7089798f8642b975018","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849754,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e84e2a656e8c7089798f8642b975018","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"398fa360-57ca-49d9-849d-3f7d79aff94b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.1489935} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.169189,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4bc5f3e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","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":"4bc5f3e0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4bc5f3e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c 200 13ms","method":"GET","requestID":"4bc5f3e0-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c7ac13d5-bccf-42cb-91e1-812451194551","requestID":"3e84e2a656e8c7089798f8642b975018"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c7ac13d5-bccf-42cb-91e1-812451194551 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e84e2a656e8c7089798f8642b975018"} experiment-1 | {"level":"info","message":"GET /experiments/c7ac13d5-bccf-42cb-91e1-812451194551 200 41ms","method":"GET","requestID":"3e84e2a656e8c7089798f8642b975018","responseTime":41,"status":200,"url":"/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"4b72821a00e349dd0170793921da1212","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +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.107","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b72821a00e349dd0170793921da1212"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bd4e800-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64ac10ee-c617-4213-87d1-c0fdd4a8d645","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.2447097} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.467341,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4bd4e800-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","object_type":"device","rebac_allow":false,"scope_allow":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":"4bd4e800-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bd4e800-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling 200 33ms","method":"POST","requestID":"4bd4e800-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bda6640-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e1ad792-c9e7-4b54-bb1e-93006ca7102e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.2809606} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.215675,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4bda6640-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","rebac_allow":false,"scope_allow":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":"4bda6640-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bda6640-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/signaling 200 9ms","method":"POST","requestID":"4bda6640-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0","level":"info","message":"auth send jwt","requestID":"35c5556f4179607164a08617ea02f76b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"35c5556f4179607164a08617ea02f76b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c7ac13d5-bccf-42cb-91e1-812451194551","requestID":"35c5556f4179607164a08617ea02f76b"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.706115,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"35c5556f4179607164a08617ea02f76b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849754,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"35c5556f4179607164a08617ea02f76b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c7ac13d5-bccf-42cb-91e1-812451194551","requestID":"35c5556f4179607164a08617ea02f76b"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c7ac13d5-bccf-42cb-91e1-812451194551 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"35c5556f4179607164a08617ea02f76b"} experiment-1 | {"level":"info","message":"GET /experiments/c7ac13d5-bccf-42cb-91e1-812451194551 200 36ms","method":"GET","requestID":"35c5556f4179607164a08617ea02f76b","responseTime":36,"status":200,"url":"/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0","level":"info","message":"auth send jwt","requestID":"62efdab1578f05b0c09942cca1c019ec"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"62efdab1578f05b0c09942cca1c019ec","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c7ac13d5-bccf-42cb-91e1-812451194551","requestID":"62efdab1578f05b0c09942cca1c019ec"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.726276,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"62efdab1578f05b0c09942cca1c019ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849754,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"62efdab1578f05b0c09942cca1c019ec","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Attempting to finish experiment","requestID":"62efdab1578f05b0c09942cca1c019ec"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4be8be20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.693367,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4be8be20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849754,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4be8be20-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","device":"0e19a995-3332-4afe-ba51-00312a2abb12","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","device":"d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3cd273d0-19c3-410c-a86d-bfbb3ad8c02c': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"ec2831d7-731a-4b0e-bdc2-9600b6e7abae","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.3936064} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d940b610-b3f7-46c3-b859-bff52c1df819","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.3944738} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"4be8be20-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3cd273d0-19c3-410c-a86d-bfbb3ad8c02c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"54dbe1248d8eae664c1e880a2419eb60","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"54dbe1248d8eae664c1e880a2419eb60","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/0e19a995-3332-4afe-ba51-00312a2abb12"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c"}}},"level":"info","message":"received a callback","requestID":"54dbe1248d8eae664c1e880a2419eb60"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0f2c96b065a35070c146a1c7f1f8bfaf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"0f2c96b065a35070c146a1c7f1f8bfaf","responseTime":0,"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":"connected","url":"http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c"}}},"level":"info","message":"received a callback","requestID":"0f2c96b065a35070c146a1c7f1f8bfaf"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4be8be20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c 204 95ms","method":"DELETE","requestID":"4be8be20-243b-11f0-b067-2fe344ae06f8","responseTime":95,"status":204,"url":"/peerconnections/3cd273d0-19c3-410c-a86d-bfbb3ad8c02c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"},"level":"info","message":"Successfully finished experiment","requestID":"62efdab1578f05b0c09942cca1c019ec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bfa9870-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e19a995-3332-4afe-ba51-00312a2abb12","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f56d746-2467-426a-8a6b-c86216f773c6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.493492} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.286801,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4bfa9870-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e19a995-3332-4afe-ba51-00312a2abb12","object_type":"device","rebac_allow":false,"scope_allow":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":"4bfa9870-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bfa9870-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling 200 11ms","method":"POST","requestID":"4bfa9870-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/0e19a995-3332-4afe-ba51-00312a2abb12/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4bfc9440-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc7ac13d5-bccf-42cb-91e1-812451194551': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc7ac13d5-bccf-42cb-91e1-812451194551","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"57f27d56-c10d-4ad7-a670-77d4096b0fd8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.501619} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42bace45-ef6e-46a0-8fd2-8810ad7048e3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.5019674} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"62efdab1578f05b0c09942cca1c019ec","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd5fe3927-bbf8-4b01-a9d6-083c66d57ccc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9919c58e-0011-42bd-aba4-371b580101d7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.5072305} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.935243,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4bfc9440-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc","object_type":"device","rebac_allow":false,"scope_allow":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":"4bfc9440-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4bfc9440-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/signaling 200 12ms","method":"POST","requestID":"4bfc9440-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c7ac13d5-bccf-42cb-91e1-812451194551","requestID":"62efdab1578f05b0c09942cca1c019ec"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c7ac13d5-bccf-42cb-91e1-812451194551 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62efdab1578f05b0c09942cca1c019ec"} experiment-1 | {"level":"info","message":"DELETE /experiments/c7ac13d5-bccf-42cb-91e1-812451194551 204 227ms","method":"DELETE","requestID":"62efdab1578f05b0c09942cca1c019ec","responseTime":227,"status":204,"url":"/experiments/c7ac13d5-bccf-42cb-91e1-812451194551"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"54dbe1248d8eae664c1e880a2419eb60","responseTime":138,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0","level":"info","message":"auth send jwt","requestID":"1e15d048d57015067f477eb17881738d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1e15d048d57015067f477eb17881738d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"54dbe1248d8eae664c1e880a2419eb60"} device-1 | {"level":"info","message":"postDevices called","requestID":"1e15d048d57015067f477eb17881738d"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f2c96b065a35070c146a1c7f1f8bfaf"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +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.408","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":"bd32d4593fff0a7fa9bf434f131e6a1b"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"0f2c96b065a35070c146a1c7f1f8bfaf","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +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.430","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":"f00737254bdfdb82683b1b865837d1be"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.726792,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"1e15d048d57015067f477eb17881738d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849754,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1e15d048d57015067f477eb17881738d","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/0e19a995-3332-4afe-ba51-00312a2abb12' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d5fe3927-bbf8-4b01-a9d6-083c66d57ccc' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8de648fb-6a16-4f5e-9cf3-889f4a0b87da","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.602873} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1e15d048d57015067f477eb17881738d","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3684277b-a626-4fac-97b3-cc36198191f5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.6075869} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"1e15d048d57015067f477eb17881738d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"c85d03dd-3b2c-4608-b0d2-7245efe11481","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.6197681} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80c9698c-2ed5-4013-99e1-b2c1d884070d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.61994} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"1e15d048d57015067f477eb17881738d","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.619756457Z"}]},"request_id":"a1e25731-57dc-464e-87ec-b949d1a88693","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.6245708} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1e15d048d57015067f477eb17881738d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1e15d048d57015067f477eb17881738d"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e15d048d57015067f477eb17881738d"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"1e15d048d57015067f477eb17881738d","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0","level":"info","message":"auth send jwt","requestID":"fe5a0a07feb817b6fff028bf7ac5367f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fe5a0a07feb817b6fff028bf7ac5367f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fe5a0a07feb817b6fff028bf7ac5367f"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.680092,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fe5a0a07feb817b6fff028bf7ac5367f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849754,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NH0.AI4tSrqaPky3bUBnyk_Dvb3vr6cZM-nVqyIHgxYPvL0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fe5a0a07feb817b6fff028bf7ac5367f","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"30012abc-e9f8-4aa4-bb72-3e4cb69ef043","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.7153113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fe5a0a07feb817b6fff028bf7ac5367f","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5988deb-2852-4f32-bc81-e02c0ff277bf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.7197154} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"fe5a0a07feb817b6fff028bf7ac5367f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"27f6dc1c-4cb3-4898-aef8-d47a63b13cbd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.729199} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31107345-7bf5-4cab-a128-897ad37f30b7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.729439} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"fe5a0a07feb817b6fff028bf7ac5367f","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.729188867Z"}]},"request_id":"d2416bf2-9292-473f-ba14-a0c8c44e508f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849754.7543163} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"fe5a0a07feb817b6fff028bf7ac5367f","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fe5a0a07feb817b6fff028bf7ac5367f"} device-1 | {"level":"info","message":"POST /devices? 201 98ms","method":"POST","requestID":"fe5a0a07feb817b6fff028bf7ac5367f","responseTime":98,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe5a0a07feb817b6fff028bf7ac5367f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NX0.eQZmZDoH7FN6BkPTbc8ptDCiAeEdXx-agNepxSZckMU","level":"info","message":"auth send jwt","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:55Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765123,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849755,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NX0.eQZmZDoH7FN6BkPTbc8ptDCiAeEdXx-agNepxSZckMU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.729188867Z"}]},"request_id":"4beadd77-346e-42b2-9f1a-97a618c8297d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849755.7333698} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43ea3704-6039-4c85-9da0-e74f2715670f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849755.7387204} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.729188867Z"}]},"request_id":"25a5e722-4753-4a29-8dcf-662b0528cd40","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849755.7773936} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf"} device-1 | {"level":"info","message":"PATCH /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877 200 65ms","method":"PATCH","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf","responseTime":65,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877"} gateway-1 | {"time_local":"28/Apr/2025:14:15:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.070","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c6ac0757ea13e06c7fbe5b55b4096ecf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NX0.eQZmZDoH7FN6BkPTbc8ptDCiAeEdXx-agNepxSZckMU","level":"info","message":"auth send jwt","requestID":"2bc25df0f06e8a95f566c7343a2f13d9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2bc25df0f06e8a95f566c7343a2f13d9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2bc25df0f06e8a95f566c7343a2f13d9"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:55Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726603,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2bc25df0f06e8a95f566c7343a2f13d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849755,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1NX0.eQZmZDoH7FN6BkPTbc8ptDCiAeEdXx-agNepxSZckMU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2bc25df0f06e8a95f566c7343a2f13d9","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2bc25df0f06e8a95f566c7343a2f13d9"} gateway-1 | {"time_local":"28/Apr/2025:14:15:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/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.18","requestID":"2bc25df0f06e8a95f566c7343a2f13d9"} device-1 | {"level":"info","message":"POST /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/websocket 200 15ms","method":"POST","requestID":"2bc25df0f06e8a95f566c7343a2f13d9","responseTime":15,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cdc3b52c0586270b667e0483f6993106","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"cdc3b52c0586270b667e0483f6993106","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/19833ccc-d171-4cf5-ad99-e7d57c506013/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":"cdc3b52c0586270b667e0483f6993106"} device-1 | {"level":"info","message":"OPTIONS /devices/19833ccc-d171-4cf5-ad99-e7d57c506013/websocket 200 1ms","method":"OPTIONS","requestID":"cdc3b52c0586270b667e0483f6993106","responseTime":1,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY","level":"info","message":"auth send jwt","requestID":"b84c29414e247c62cbfdbbfa54f05647"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b84c29414e247c62cbfdbbfa54f05647","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b84c29414e247c62cbfdbbfa54f05647"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140829,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b84c29414e247c62cbfdbbfa54f05647","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849756,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b84c29414e247c62cbfdbbfa54f05647","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b84c29414e247c62cbfdbbfa54f05647"} gateway-1 | {"time_local":"28/Apr/2025:14:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/19833ccc-d171-4cf5-ad99-e7d57c506013/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":"b84c29414e247c62cbfdbbfa54f05647"} device-1 | {"level":"info","message":"POST /devices/19833ccc-d171-4cf5-ad99-e7d57c506013/websocket 200 34ms","method":"POST","requestID":"b84c29414e247c62cbfdbbfa54f05647","responseTime":34,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY","level":"info","message":"auth send jwt","requestID":"26d413906f4816f9914edf00a63e60e7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"26d413906f4816f9914edf00a63e60e7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"26d413906f4816f9914edf00a63e60e7"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.758578,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"26d413906f4816f9914edf00a63e60e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849756,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"26d413906f4816f9914edf00a63e60e7","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.619756457Z"}]},"request_id":"76ba81af-be4f-478b-b21f-8d21120cb0b5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849756.9489913} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"26d413906f4816f9914edf00a63e60e7","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"26d413906f4816f9914edf00a63e60e7"} device-1 | {"level":"info","message":"GET /devices/19833ccc-d171-4cf5-ad99-e7d57c506013? 200 13ms","method":"GET","requestID":"26d413906f4816f9914edf00a63e60e7","responseTime":13,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013?"} gateway-1 | {"time_local":"28/Apr/2025:14:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19833ccc-d171-4cf5-ad99-e7d57c506013? 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":"26d413906f4816f9914edf00a63e60e7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY","level":"info","message":"auth send jwt","requestID":"6972876fb6197d98088e7a4004ccb3e8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6972876fb6197d98088e7a4004ccb3e8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6972876fb6197d98088e7a4004ccb3e8"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70284,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6972876fb6197d98088e7a4004ccb3e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849756,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6972876fb6197d98088e7a4004ccb3e8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.729188867Z"}]},"request_id":"103d10f3-2c66-4728-85e7-0012862df6af","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849756.9681945} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6972876fb6197d98088e7a4004ccb3e8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6972876fb6197d98088e7a4004ccb3e8"} gateway-1 | {"time_local":"28/Apr/2025:14:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877? 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":"6972876fb6197d98088e7a4004ccb3e8"} device-1 | {"level":"info","message":"GET /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877? 200 14ms","method":"GET","requestID":"6972876fb6197d98088e7a4004ccb3e8","responseTime":14,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY","level":"info","message":"auth send jwt","requestID":"e43157530f96c9cb04b67cf71245123f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e43157530f96c9cb04b67cf71245123f","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e43157530f96c9cb04b67cf71245123f"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:56Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.778084,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e43157530f96c9cb04b67cf71245123f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849756,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e43157530f96c9cb04b67cf71245123f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Attempting to run experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Attempting to book experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Successfully booked experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4d7e7950-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4d7ea060-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704648,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4d7e7950-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849756,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4d7e7950-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.60554,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4d7ea060-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849756,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4d7ea060-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.619756457Z"}]},"request_id":"794a542d-65c6-4e21-aa72-e6fa4fe92ee4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.0584288} authorization-1 | {"level":"info","message":"POST /relations/query 200 25ms","method":"POST","requestID":"4d7e7950-243b-11f0-b067-2fe344ae06f8","responseTime":25,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.729188867Z"}]},"request_id":"044657f4-0fb7-4047-9432-4104530a8c76","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.0599313} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4d7ea060-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4d7e7950-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/19833ccc-d171-4cf5-ad99-e7d57c506013? 200 36ms","method":"GET","requestID":"4d7e7950-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4d7ea060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877? 200 36ms","method":"GET","requestID":"4d7ea060-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Setting up experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Successfully set up experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4d9339d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4d9360e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4d93af00-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Successfully running experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45552","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742303,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4d9339d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849756,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4d9339d0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808885,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4d9360e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849756,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"4d9360e0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.729188867Z"}]},"request_id":"5c35c92a-9981-4a48-b64d-5f11c1f16e6f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2013986} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.619756457Z"}]},"request_id":"c90275dc-ce24-46f6-a5db-ff3d0d1a0456","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2013986} authorization-1 | {"level":"info","message":"POST /relations/query 200 20ms","method":"POST","requestID":"4d9360e0-243b-11f0-b067-2fe344ae06f8","responseTime":20,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"4d9339d0-243b-11f0-b067-2fe344ae06f8","responseTime":23,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80c59a0a-386c-4ba3-9f88-f57177410435","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2032645} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.362221,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4d93af00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","rebac_allow":false,"scope_allow":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":"4d93af00-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4d9360e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877? 200 41ms","method":"GET","requestID":"4d9360e0-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4d9339d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/19833ccc-d171-4cf5-ad99-e7d57c506013? 200 45ms","method":"GET","requestID":"4d9339d0-243b-11f0-b067-2fe344ae06f8","responseTime":45,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffd07178d-4460-4d76-bc1c-bc620497c5f5#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffd07178d-4460-4d76-bc1c-bc620497c5f5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"1212fb3a-753a-4314-96c1-869515daf69c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2098532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"182c0161-0719-483b-b3e4-d962bf7db375","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.21009} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4d93af00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling 200 43ms","method":"POST","requestID":"4d93af00-243b-11f0-b067-2fe344ae06f8","responseTime":43,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"e43157530f96c9cb04b67cf71245123f","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4d9adaf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4d9b0200-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4a14c08-6939-4f40-ace3-9c7174bea6a7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2192366} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.44861,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4d9adaf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","rebac_allow":false,"scope_allow":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":"4d9adaf0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"641d28b1-d324-4f28-b694-98f127a60756","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2206109} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.467459,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4d9b0200-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","rebac_allow":false,"scope_allow":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":"4d9b0200-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e43157530f96c9cb04b67cf71245123f"} gateway-1 | {"time_local":"28/Apr/2025:14:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.248","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 243ms","method":"POST","requestID":"e43157530f96c9cb04b67cf71245123f","responseTime":243,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4d9adaf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling 200 12ms","method":"POST","requestID":"4d9adaf0-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4d9b0200-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/signaling 200 14ms","method":"POST","requestID":"4d9b0200-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4d9d24e0-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1N30.Zokg5GJVsr-eDSPq_5W1RvWZ5jyVfC2VONaXLFi154Q","level":"info","message":"auth send jwt","requestID":"03933000e1cbd29ea26da921be965342"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"03933000e1cbd29ea26da921be965342","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"03933000e1cbd29ea26da921be965342"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e384f1f8-2607-4860-a997-0117870e646a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2361495} authorization-1 | {"client_addr":"127.0.0.1:51564","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.287078,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4d9d24e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","rebac_allow":false,"scope_allow":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":"4d9d24e0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759619,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"03933000e1cbd29ea26da921be965342","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849757,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1N30.Zokg5GJVsr-eDSPq_5W1RvWZ5jyVfC2VONaXLFi154Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"03933000e1cbd29ea26da921be965342","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4d9d24e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/signaling 200 14ms","method":"POST","requestID":"4d9d24e0-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.619756457Z"}]},"request_id":"520bd89b-602a-4bd5-b1c7-4eaa658ecca4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2445097} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Building connection plan","requestID":"e43157530f96c9cb04b67cf71245123f"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"dbe943f3-1894-4837-b989-adede99d3d7b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"43ee118c-d028-4986-8a96-41d280c1eb8d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8f0439aa-6318-4805-9692-60e7798e95cf"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e43157530f96c9cb04b67cf71245123f"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"03933000e1cbd29ea26da921be965342","responseTime":3,"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/19833ccc-d171-4cf5-ad99-e7d57c506013"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e43157530f96c9cb04b67cf71245123f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"03933000e1cbd29ea26da921be965342"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} gateway-1 | {"time_local":"28/Apr/2025:14:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/19833ccc-d171-4cf5-ad99-e7d57c506013? 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":"03933000e1cbd29ea26da921be965342"} device-1 | {"level":"info","message":"GET /devices/19833ccc-d171-4cf5-ad99-e7d57c506013? 200 17ms","method":"GET","requestID":"03933000e1cbd29ea26da921be965342","responseTime":17,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013?"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.846048,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849756,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1Nn0.asVXe-ojcpWdiymGI5QgrMF8YZq8Xu6T8mztiPDsbwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1N30.Zokg5GJVsr-eDSPq_5W1RvWZ5jyVfC2VONaXLFi154Q","level":"info","message":"auth send jwt","requestID":"8b4b62dc738326bc07ab42a13121728e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b4b62dc738326bc07ab42a13121728e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b4b62dc738326bc07ab42a13121728e"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743104,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8b4b62dc738326bc07ab42a13121728e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849757,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1N30.Zokg5GJVsr-eDSPq_5W1RvWZ5jyVfC2VONaXLFi154Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8b4b62dc738326bc07ab42a13121728e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"75ea05de-b387-4d25-a569-8c803ebfc7c7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2604818} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6458dc92-b925-4ded-8c42-310c42691acf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2607107} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:54.729188867Z"}]},"request_id":"c78ab96e-bd87-44d2-8cb1-e62937ca4905","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.2664914} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b4b62dc738326bc07ab42a13121728e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0'","requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0'","requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8"} 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":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8","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":"getDevicesByDeviceId succeeded","requestID":"8b4b62dc738326bc07ab42a13121728e"} gateway-1 | {"time_local":"28/Apr/2025:14:15:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b4b62dc738326bc07ab42a13121728e"} device-1 | {"level":"info","message":"GET /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877? 200 53ms","method":"GET","requestID":"8b4b62dc738326bc07ab42a13121728e","responseTime":53,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"4d9fbcf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0","device":"19833ccc-d171-4cf5-ad99-e7d57c506013","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/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e43157530f96c9cb04b67cf71245123f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4db0fb00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5deeb945-f40c-4d47-8e25-2db1a252cd9a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.3641992} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.197716,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4db0fb00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","rebac_allow":false,"scope_allow":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":"4db0fb00-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4db0fb00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling 200 8ms","method":"POST","requestID":"4db0fb00-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4db62b20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29fb4cfc-6320-4684-9b48-7e4b6712a47f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849757.398156} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.821472,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4db62b20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","rebac_allow":false,"scope_allow":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":"4db62b20-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4db62b20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/signaling 200 8ms","method":"POST","requestID":"4db62b20-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/signaling"} device-1 | {"device":"19833ccc-d171-4cf5-ad99-e7d57c506013","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"19833ccc-d171-4cf5-ad99-e7d57c506013","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"5733bb4e-90ef-4bff-bf29-4e2889cde877","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"dee9031e-a656-4913-bb64-956acad3c5c0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1590346872371863429 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:BM/1\r\na=ice-pwd:BuhMFokRfDh63ZVCx0AhxuXb\r\na=ice-options:trickle\r\na=fingerprint:sha-256 69:78:3A:70:1D:09:EC:EB:9D:92:7F:9F:5F:1D:7F:FA:28:A2:EB:C8:34:0C:0C:BC:C1:EE:3A:9A:72:CE:01:73\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"19833ccc-d171-4cf5-ad99-e7d57c506013","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3446231706 1 udp 2113937151 96a78d7d-421f-4369-8206-955abab1958b.local 56907 typ host generation 0 ufrag BM/1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"19833ccc-d171-4cf5-ad99-e7d57c506013","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"19833ccc-d171-4cf5-ad99-e7d57c506013","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/19833ccc-d171-4cf5-ad99-e7d57c506013'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dee9031e-a656-4913-bb64-956acad3c5c0","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"87b790144afd4ea9b6bcd78b81faf6cd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"19833ccc-d171-4cf5-ad99-e7d57c506013","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"87b790144afd4ea9b6bcd78b81faf6cd","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/19833ccc-d171-4cf5-ad99-e7d57c506013"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0"}}},"level":"info","message":"received a callback","requestID":"87b790144afd4ea9b6bcd78b81faf6cd"} device-1 | {"device":"5733bb4e-90ef-4bff-bf29-4e2889cde877","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5733bb4e-90ef-4bff-bf29-4e2889cde877","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5733bb4e-90ef-4bff-bf29-4e2889cde877","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"87b790144afd4ea9b6bcd78b81faf6cd","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +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":"87b790144afd4ea9b6bcd78b81faf6cd"} device-1 | {"data":{"peerconnection":"dee9031e-a656-4913-bb64-956acad3c5c0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5733bb4e-90ef-4bff-bf29-4e2889cde877","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"19833ccc-d171-4cf5-ad99-e7d57c506013","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5733bb4e-90ef-4bff-bf29-4e2889cde877","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"dee9031e-a656-4913-bb64-956acad3c5c0","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"19833ccc-d171-4cf5-ad99-e7d57c506013","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/dee9031e-a656-4913-bb64-956acad3c5c0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dee9031e-a656-4913-bb64-956acad3c5c0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5cbf1327c83dd20eedcdb3b6bb7edb64","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"5cbf1327c83dd20eedcdb3b6bb7edb64","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/19833ccc-d171-4cf5-ad99-e7d57c506013"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0"}}},"level":"info","message":"received a callback","requestID":"5cbf1327c83dd20eedcdb3b6bb7edb64"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4eeb4fc0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdee9031e-a656-4913-bb64-956acad3c5c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35d2a300-a92b-4739-ac6d-123bfa5254cb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.4269226} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.289248,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4eeb4fc0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0","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":"4eeb4fc0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4eeb4fc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0 200 11ms","method":"GET","requestID":"4eeb4fc0-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"5cbf1327c83dd20eedcdb3b6bb7edb64","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +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":"5cbf1327c83dd20eedcdb3b6bb7edb64"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ef2c9d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac7434f8-fa0a-413c-af3a-ad167327fab8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.4741116} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.643141,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4ef2c9d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","rebac_allow":false,"scope_allow":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":"4ef2c9d0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ef2c9d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling 200 9ms","method":"POST","requestID":"4ef2c9d0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ef84810-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1OX0.2YNOPcGGO048_O6gI0wufIBfE7-IsnfmhXhvuz2fLwY","level":"info","message":"auth send jwt","requestID":"cca4ffc5061697d91204baf49c14628f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cca4ffc5061697d91204baf49c14628f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa2a4d37-adf4-4794-a32f-945e6af5e734","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.5094278} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.362617,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5","requestID":"cca4ffc5061697d91204baf49c14628f"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4ef84810-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","rebac_allow":false,"scope_allow":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":"4ef84810-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ef84810-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/signaling 200 9ms","method":"POST","requestID":"4ef84810-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.801971,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"cca4ffc5061697d91204baf49c14628f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849759,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1OX0.2YNOPcGGO048_O6gI0wufIBfE7-IsnfmhXhvuz2fLwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cca4ffc5061697d91204baf49c14628f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5","requestID":"cca4ffc5061697d91204baf49c14628f"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cca4ffc5061697d91204baf49c14628f"} experiment-1 | {"level":"info","message":"GET /experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5 200 14ms","method":"GET","requestID":"cca4ffc5061697d91204baf49c14628f","responseTime":14,"status":200,"url":"/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1OX0.2YNOPcGGO048_O6gI0wufIBfE7-IsnfmhXhvuz2fLwY","level":"info","message":"auth send jwt","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.707137,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f2b1ab529076e50dccdbdbab43ff3e0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849759,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1OX0.2YNOPcGGO048_O6gI0wufIBfE7-IsnfmhXhvuz2fLwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c","responseTime":23,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Attempting to finish experiment","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4f008570-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.918673,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4f008570-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849759,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1OX0.2YNOPcGGO048_O6gI0wufIBfE7-IsnfmhXhvuz2fLwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4f008570-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0","device":"19833ccc-d171-4cf5-ad99-e7d57c506013","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"5733bb4e-90ef-4bff-bf29-4e2889cde877","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5733bb4e-90ef-4bff-bf29-4e2889cde877","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5733bb4e-90ef-4bff-bf29-4e2889cde877","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/dee9031e-a656-4913-bb64-956acad3c5c0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"dee9031e-a656-4913-bb64-956acad3c5c0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdee9031e-a656-4913-bb64-956acad3c5c0': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdee9031e-a656-4913-bb64-956acad3c5c0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"575f47c8-b918-404f-a1ca-c2b391469c9d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.5739238} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3acee784bfae4966449d5417a7dbb9c5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"3acee784bfae4966449d5417a7dbb9c5","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"315eba29-038f-4b9d-87f5-cbca4b7c6333","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.5743093} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"befb011a055d5a8e3dd937eb1f52dc84","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"befb011a055d5a8e3dd937eb1f52dc84","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"4f008570-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/relations/update"} 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/19833ccc-d171-4cf5-ad99-e7d57c506013"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0"}}},"level":"info","message":"received a callback","requestID":"3acee784bfae4966449d5417a7dbb9c5"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0"}}},"level":"info","message":"received a callback","requestID":"befb011a055d5a8e3dd937eb1f52dc84"} device-1 | {"data":{"peerconnection":"dee9031e-a656-4913-bb64-956acad3c5c0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4f008570-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0 204 67ms","method":"DELETE","requestID":"4f008570-243b-11f0-b067-2fe344ae06f8","responseTime":67,"status":204,"url":"/peerconnections/dee9031e-a656-4913-bb64-956acad3c5c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"},"level":"info","message":"Successfully finished experiment","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4f1015d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F19833ccc-d171-4cf5-ad99-e7d57c506013","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cfda31e-eea5-472c-a820-52430280e410","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.665977} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.404518,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4f1015d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/19833ccc-d171-4cf5-ad99-e7d57c506013","object_type":"device","rebac_allow":false,"scope_allow":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":"4f1015d0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4f1015d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling 200 10ms","method":"POST","requestID":"4f1015d0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/19833ccc-d171-4cf5-ad99-e7d57c506013/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffd07178d-4460-4d76-bc1c-bc620497c5f5': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffd07178d-4460-4d76-bc1c-bc620497c5f5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"bbfe6724-3147-47a5-b4b7-6c8ea3322079","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.6711574} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aacbd6e5-789f-4474-b5b1-37b4573b131d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.6714883} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4f159410-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5733bb4e-90ef-4bff-bf29-4e2889cde877","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e06e608-2627-42e7-84cc-0c2f5e270cc5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.7022665} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.346284,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4f159410-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877","object_type":"device","rebac_allow":false,"scope_allow":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":"4f159410-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4f159410-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/signaling 200 8ms","method":"POST","requestID":"4f159410-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/5733bb4e-90ef-4bff-bf29-4e2889cde877/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.273","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c"} experiment-1 | {"level":"info","message":"DELETE /experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5 204 271ms","method":"DELETE","requestID":"f2b1ab529076e50dccdbdbab43ff3e0c","responseTime":271,"status":204,"url":"/experiments/fd07178d-4460-4d76-bc1c-bc620497c5f5"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2290","request_time":"3.969","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"146c34c619bea5419e237a39531dcfc5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 201ms","method":"POST","requestID":"3acee784bfae4966449d5417a7dbb9c5","responseTime":201,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +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":"3acee784bfae4966449d5417a7dbb9c5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 201ms","method":"POST","requestID":"befb011a055d5a8e3dd937eb1f52dc84","responseTime":201,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +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.230","http_referrer":"","http_user_agent":"node-fetch","requestID":"befb011a055d5a8e3dd937eb1f52dc84"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1OX0.2YNOPcGGO048_O6gI0wufIBfE7-IsnfmhXhvuz2fLwY","level":"info","message":"auth send jwt","requestID":"66b827109eb84ca9a896a211e56326e2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66b827109eb84ca9a896a211e56326e2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"66b827109eb84ca9a896a211e56326e2"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.884","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":"cf5972becceefe7067a4082285118648"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.045204,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"66b827109eb84ca9a896a211e56326e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849759,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1OX0.2YNOPcGGO048_O6gI0wufIBfE7-IsnfmhXhvuz2fLwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"66b827109eb84ca9a896a211e56326e2","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/5733bb4e-90ef-4bff-bf29-4e2889cde877' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b3ae861b-3c93-4b27-83f5-ff62c41cafe2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.827894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"66b827109eb84ca9a896a211e56326e2","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/19833ccc-d171-4cf5-ad99-e7d57c506013' 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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1b35c9e-df27-420a-8bd0-b45ca7144205","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.8335626} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"66b827109eb84ca9a896a211e56326e2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"6ea47612-2dee-4d09-931f-3006b29f37cb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.8435194} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a16adf0-594c-43de-bda6-fe9dea8d3302","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.843606} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"66b827109eb84ca9a896a211e56326e2","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.843506209Z"}]},"request_id":"10ab335d-ab82-4538-98f0-9c0cd0a6e698","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.8479872} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"66b827109eb84ca9a896a211e56326e2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"66b827109eb84ca9a896a211e56326e2"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +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":"66b827109eb84ca9a896a211e56326e2"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"66b827109eb84ca9a896a211e56326e2","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1OX0.2YNOPcGGO048_O6gI0wufIBfE7-IsnfmhXhvuz2fLwY","level":"info","message":"auth send jwt","requestID":"1b198294d0f65ff98fa35fd360013b06"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b198294d0f65ff98fa35fd360013b06","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1b198294d0f65ff98fa35fd360013b06"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.867656,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:15:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"1b198294d0f65ff98fa35fd360013b06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849759,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc1OX0.2YNOPcGGO048_O6gI0wufIBfE7-IsnfmhXhvuz2fLwY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1b198294d0f65ff98fa35fd360013b06","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31730e0f-c8ab-4bf7-9957-d74569ddf789","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.872708} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1b198294d0f65ff98fa35fd360013b06","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c40d5147-0e10-40d4-8460-7dfae789e83e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.8781722} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"1b198294d0f65ff98fa35fd360013b06","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"352057a5-a388-491b-844a-ff28129134e7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.8917253} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dda42acf-69c6-4974-ac73-17ff847c2a0d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.8919053} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"1b198294d0f65ff98fa35fd360013b06","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.891713642Z"}]},"request_id":"0f8892b1-210d-4186-9d70-c7773bdd9c7d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849759.897201} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1b198294d0f65ff98fa35fd360013b06","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1b198294d0f65ff98fa35fd360013b06"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"1b198294d0f65ff98fa35fd360013b06","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:15:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b198294d0f65ff98fa35fd360013b06"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2MH0.xNN5gmFS_DKku2LuL2URXlj_QzukgIBl4gKHKNgZ7TE","level":"info","message":"auth send jwt","requestID":"6507221fbb52f6151e6481543067f953"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6507221fbb52f6151e6481543067f953","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6507221fbb52f6151e6481543067f953"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.481788,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6507221fbb52f6151e6481543067f953","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849760,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2MH0.xNN5gmFS_DKku2LuL2URXlj_QzukgIBl4gKHKNgZ7TE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6507221fbb52f6151e6481543067f953","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.843506209Z"}]},"request_id":"5897374a-a1fa-4f16-822a-8008eb2c6463","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849760.8206139} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6507221fbb52f6151e6481543067f953","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bc1d67f-9edd-407a-8851-45978ce512a6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849760.8490698} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"6507221fbb52f6151e6481543067f953","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.843506209Z"}]},"request_id":"0cdb4a74-39de-45d4-85e8-a424cff5f59c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849760.9793015} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6507221fbb52f6151e6481543067f953","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6507221fbb52f6151e6481543067f953"} device-1 | {"level":"info","message":"PATCH /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d 200 172ms","method":"PATCH","requestID":"6507221fbb52f6151e6481543067f953","responseTime":172,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d"} gateway-1 | {"time_local":"28/Apr/2025:14:16:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.177","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6507221fbb52f6151e6481543067f953"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2MH0.xNN5gmFS_DKku2LuL2URXlj_QzukgIBl4gKHKNgZ7TE","level":"info","message":"auth send jwt","requestID":"89692506ce6679fe001d0c14db1d58ea"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"89692506ce6679fe001d0c14db1d58ea","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"89692506ce6679fe001d0c14db1d58ea"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:00Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.235518,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"89692506ce6679fe001d0c14db1d58ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849760,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2MH0.xNN5gmFS_DKku2LuL2URXlj_QzukgIBl4gKHKNgZ7TE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"89692506ce6679fe001d0c14db1d58ea","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"89692506ce6679fe001d0c14db1d58ea"} gateway-1 | {"time_local":"28/Apr/2025:14:16:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/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.18","requestID":"89692506ce6679fe001d0c14db1d58ea"} device-1 | {"level":"info","message":"POST /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/websocket 200 32ms","method":"POST","requestID":"89692506ce6679fe001d0c14db1d58ea","responseTime":32,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bf5283a5c5a847ee5a59596213b3b0a2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"bf5283a5c5a847ee5a59596213b3b0a2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d15bf764-e271-4a92-8922-18110966cfb3/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":"bf5283a5c5a847ee5a59596213b3b0a2"} device-1 | {"level":"info","message":"OPTIONS /devices/d15bf764-e271-4a92-8922-18110966cfb3/websocket 200 1ms","method":"OPTIONS","requestID":"bf5283a5c5a847ee5a59596213b3b0a2","responseTime":1,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc","level":"info","message":"auth send jwt","requestID":"5c5b2f7806c75cc38ca3aca5022dad90"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5c5b2f7806c75cc38ca3aca5022dad90","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5c5b2f7806c75cc38ca3aca5022dad90"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.080504,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c5b2f7806c75cc38ca3aca5022dad90","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5c5b2f7806c75cc38ca3aca5022dad90","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5c5b2f7806c75cc38ca3aca5022dad90"} device-1 | {"level":"info","message":"POST /devices/d15bf764-e271-4a92-8922-18110966cfb3/websocket 200 28ms","method":"POST","requestID":"5c5b2f7806c75cc38ca3aca5022dad90","responseTime":28,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d15bf764-e271-4a92-8922-18110966cfb3/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":"5c5b2f7806c75cc38ca3aca5022dad90"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc","level":"info","message":"auth send jwt","requestID":"03721f55af17cb4ef6d498a2b965f05b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"03721f55af17cb4ef6d498a2b965f05b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"03721f55af17cb4ef6d498a2b965f05b"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685149,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"03721f55af17cb4ef6d498a2b965f05b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"03721f55af17cb4ef6d498a2b965f05b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.843506209Z"}]},"request_id":"c6b6ff36-3983-4489-b1a4-c57f2af56cb5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.2476792} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"03721f55af17cb4ef6d498a2b965f05b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"03721f55af17cb4ef6d498a2b965f05b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d? 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":"03721f55af17cb4ef6d498a2b965f05b"} device-1 | {"level":"info","message":"GET /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d? 200 11ms","method":"GET","requestID":"03721f55af17cb4ef6d498a2b965f05b","responseTime":11,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc","level":"info","message":"auth send jwt","requestID":"e99be4f3825ecba4186f69270e09be0e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e99be4f3825ecba4186f69270e09be0e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e99be4f3825ecba4186f69270e09be0e"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769152,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e99be4f3825ecba4186f69270e09be0e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e99be4f3825ecba4186f69270e09be0e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.891713642Z"}]},"request_id":"47ce62d8-c28d-45ba-b39e-5709b5016b6d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.2643743} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e99be4f3825ecba4186f69270e09be0e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e99be4f3825ecba4186f69270e09be0e"} gateway-1 | {"time_local":"28/Apr/2025:14:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d15bf764-e271-4a92-8922-18110966cfb3? 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":"e99be4f3825ecba4186f69270e09be0e"} device-1 | {"level":"info","message":"GET /devices/d15bf764-e271-4a92-8922-18110966cfb3? 200 13ms","method":"GET","requestID":"e99be4f3825ecba4186f69270e09be0e","responseTime":13,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc","level":"info","message":"auth send jwt","requestID":"71750306b9463063c7d707828f3e4270"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"71750306b9463063c7d707828f3e4270","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"71750306b9463063c7d707828f3e4270"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.818766,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71750306b9463063c7d707828f3e4270","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"71750306b9463063c7d707828f3e4270","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Attempting to run experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Attempting to book experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Successfully booked experiment","requestID":"71750306b9463063c7d707828f3e4270"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50a9c8a0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50a9efb0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639165,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50a9c8a0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"50a9c8a0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841673,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50a9efb0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"50a9efb0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.843506209Z"}]},"request_id":"5fd15408-ac2d-431c-b70e-e080970b3111","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.353818} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"50a9c8a0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.891713642Z"}]},"request_id":"9ab2117b-70a7-428a-897d-8469062bbebe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.357963} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50a9c8a0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"50a9efb0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d? 200 13ms","method":"GET","requestID":"50a9c8a0-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50a9efb0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d15bf764-e271-4a92-8922-18110966cfb3? 200 40ms","method":"GET","requestID":"50a9efb0-243b-11f0-b067-2fe344ae06f8","responseTime":40,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Setting up experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Successfully set up experiment","requestID":"71750306b9463063c7d707828f3e4270"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50bcb460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50bd0280-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50bd50a0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.043222,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Successfully running experiment","requestID":"71750306b9463063c7d707828f3e4270"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50bcb460-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"50bcb460-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.522084,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50bd0280-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"50bd0280-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f1a43df-0d3f-4130-8fe7-d674446bb303","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.480692} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.891713642Z"}]},"request_id":"8c680155-3c6e-41be-89ed-3d27bd1b7c3c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.4826534} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.394433,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50bd50a0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","rebac_allow":false,"scope_allow":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":"50bd50a0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"50bd0280-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.843506209Z"}]},"request_id":"42e2defa-de95-4be6-aa99-aa04e7a437e8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.4838228} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"50bcb460-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50bd50a0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling 200 17ms","method":"POST","requestID":"50bd50a0-243b-11f0-b067-2fe344ae06f8","responseTime":17,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c61df5e-d3fa-49ed-a766-d0e5e2006ed8#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"0e75cb38-8cdb-4240-aabc-9f7556a37450","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.4912689} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50bd0280-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07735a19-38b6-4d88-a415-50e7d4e4fde2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.491607} device-1 | {"level":"info","message":"GET /devices/d15bf764-e271-4a92-8922-18110966cfb3? 200 20ms","method":"GET","requestID":"50bd0280-243b-11f0-b067-2fe344ae06f8","responseTime":20,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50bcb460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d? 200 23ms","method":"GET","requestID":"50bcb460-243b-11f0-b067-2fe344ae06f8","responseTime":23,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"71750306b9463063c7d707828f3e4270","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50c05de0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50c084f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41969454-c534-4e49-9ae3-e271638ab7b7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.4984279} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.278546,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"71750306b9463063c7d707828f3e4270"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50c05de0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","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":"28/Apr/2025:14:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.228","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"level":"info","message":"POST /experiments? 201 223ms","method":"POST","requestID":"71750306b9463063c7d707828f3e4270","responseTime":223,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"50c05de0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b02f04f8-523b-4586-a31b-89a315662847","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.50145} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.107721,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50c084f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","rebac_allow":false,"scope_allow":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":"50c084f0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc","level":"info","message":"auth send jwt","requestID":"4dc9863494edb89810ca2d41e56ead3b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4dc9863494edb89810ca2d41e56ead3b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50c05de0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling 200 15ms","method":"POST","requestID":"50c05de0-243b-11f0-b067-2fe344ae06f8","responseTime":15,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50c084f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling 200 15ms","method":"POST","requestID":"50c084f0-243b-11f0-b067-2fe344ae06f8","responseTime":15,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4dc9863494edb89810ca2d41e56ead3b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50c34410-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922848,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4dc9863494edb89810ca2d41e56ead3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4dc9863494edb89810ca2d41e56ead3b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c35df35-7312-4c2f-ac49-343b53bcd98c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.5166345} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.213435,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50c34410-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","object_type":"device","rebac_allow":false,"scope_allow":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":"50c34410-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.843506209Z"}]},"request_id":"5c1147b4-4e6e-4813-a1b1-f94c297b906d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.5203354} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50c34410-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling 200 8ms","method":"POST","requestID":"50c34410-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4dc9863494edb89810ca2d41e56ead3b","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Building connection plan","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f4c08e0d-68b3-418d-ba7f-4233c9b1afa9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"cdae7358-db41-419f-ade8-cc53a4c696d1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9558741b-0a6e-4917-9180-dbc89962beae"}]},"level":"info","message":"Built pairwise service configurations","requestID":"71750306b9463063c7d707828f3e4270"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"71750306b9463063c7d707828f3e4270"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4dc9863494edb89810ca2d41e56ead3b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d? 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":"4dc9863494edb89810ca2d41e56ead3b"} device-1 | {"level":"info","message":"GET /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d? 200 13ms","method":"GET","requestID":"4dc9863494edb89810ca2d41e56ead3b","responseTime":13,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"50c518d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc","level":"info","message":"auth send jwt","requestID":"1ab626ab46470e913702d3ee17599b64"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.761687,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ab626ab46470e913702d3ee17599b64","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50c518d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1ab626ab46470e913702d3ee17599b64"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"50c518d0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69896,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"1ab626ab46470e913702d3ee17599b64","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849762,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Mn0.AUd0Uw7w_MbclSAgsflBNMsO9zB1vb3BFaYNa7UoIAc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1ab626ab46470e913702d3ee17599b64","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:15:59.891713642Z"}]},"request_id":"240f0df4-730e-48d1-92ab-3deb1ea837fc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.5380476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1ab626ab46470e913702d3ee17599b64","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1ab626ab46470e913702d3ee17599b64"} gateway-1 | {"time_local":"28/Apr/2025:14:16:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d15bf764-e271-4a92-8922-18110966cfb3? 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":"1ab626ab46470e913702d3ee17599b64"} device-1 | {"level":"info","message":"GET /devices/d15bf764-e271-4a92-8922-18110966cfb3? 200 14ms","method":"GET","requestID":"1ab626ab46470e913702d3ee17599b64","responseTime":14,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"64e7e10e-8b50-4510-bc5c-5344ebc58749","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.543712} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e3d6704-2381-4016-a6bd-52ee3b59a590","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.5439465} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"50c518d0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"50c518d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"50c518d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d'","requestID":"50c518d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d'","requestID":"50c518d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"50c518d0-243b-11f0-b067-2fe344ae06f8"} 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":"50c518d0-243b-11f0-b067-2fe344ae06f8","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":"50c518d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","device":"d15bf764-e271-4a92-8922-18110966cfb3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"71750306b9463063c7d707828f3e4270"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50d5e1b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67456e38-bb48-448c-a765-0b3e3c72536f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.6391175} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.18888,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50d5e1b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","rebac_allow":false,"scope_allow":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":"50d5e1b0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50d5e1b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling 200 8ms","method":"POST","requestID":"50d5e1b0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"50d78f60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"device":"d15bf764-e271-4a92-8922-18110966cfb3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d15bf764-e271-4a92-8922-18110966cfb3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3103f2e-dcf1-4cad-afde-ce6c15d9d0b4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849762.651061} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.491925,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"50d78f60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","object_type":"device","rebac_allow":false,"scope_allow":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":"50d78f60-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"50d78f60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling 200 33ms","method":"POST","requestID":"50d78f60-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling"} device-1 | {"device":"59c8cfb4-cf90-448e-9a78-10b26bdaea2d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 5688132822138833832 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:/hbC\r\na=ice-pwd:caiyMroEjS+jGx4m9U36exlr\r\na=ice-options:trickle\r\na=fingerprint:sha-256 39:1B:AD:57:83:AD:0C:F4:05:C6:74:2C:77:3B:4C:D5:40:C7:6F:4D:54:DF:FD:EE:40:6F:80:32:5E:D4:BF:93\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"d15bf764-e271-4a92-8922-18110966cfb3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3121058108 1 udp 2113937151 08b2e23a-cb8f-4652-87b4-c5799fdd2975.local 41596 typ host generation 0 ufrag /hbC network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d15bf764-e271-4a92-8922-18110966cfb3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"d15bf764-e271-4a92-8922-18110966cfb3","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/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"59c8cfb4-cf90-448e-9a78-10b26bdaea2d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"59c8cfb4-cf90-448e-9a78-10b26bdaea2d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"92e8eb2ff787a3d2dbef383238c1fbb3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"92e8eb2ff787a3d2dbef383238c1fbb3","responseTime":0,"status":200,"url":"/auth"} device-1 | {"device":"59c8cfb4-cf90-448e-9a78-10b26bdaea2d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d15bf764-e271-4a92-8922-18110966cfb3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d"}}},"level":"info","message":"received a callback","requestID":"92e8eb2ff787a3d2dbef383238c1fbb3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"92e8eb2ff787a3d2dbef383238c1fbb3","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"92e8eb2ff787a3d2dbef383238c1fbb3"} device-1 | {"data":{"peerconnection":"b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"59c8cfb4-cf90-448e-9a78-10b26bdaea2d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"59c8cfb4-cf90-448e-9a78-10b26bdaea2d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d15bf764-e271-4a92-8922-18110966cfb3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d15bf764-e271-4a92-8922-18110966cfb3","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/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9f780ef80d5743b3133c09324ca12cba","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"9f780ef80d5743b3133c09324ca12cba","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/d15bf764-e271-4a92-8922-18110966cfb3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d"}}},"level":"info","message":"received a callback","requestID":"9f780ef80d5743b3133c09324ca12cba"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"52125950-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb8228c35-5d6f-4b4c-a97d-2c4d37f9495d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a50ca5dd-9abe-40df-96f1-9ef084ef2299","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849764.7375607} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.525998,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"52125950-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","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 29ms","method":"POST","requestID":"52125950-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"52125950-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d 200 33ms","method":"GET","requestID":"52125950-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"9f780ef80d5743b3133c09324ca12cba","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f780ef80d5743b3133c09324ca12cba"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"52198540-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85dd767c-7a88-40ac-b000-74d4e4f17dea","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849764.760599} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.274294,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"52198540-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","object_type":"device","rebac_allow":false,"scope_allow":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":"52198540-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"52198540-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling 200 33ms","method":"POST","requestID":"52198540-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"521edc70-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2NH0.nn0rM24P5u6W947CeuLRRouT5T5R4L8UPG2G_sGPFmo","level":"info","message":"auth send jwt","requestID":"a0e69d385aeccfed5c955c15ef834af1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0e69d385aeccfed5c955c15ef834af1","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:04Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","requestID":"a0e69d385aeccfed5c955c15ef834af1"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f8a8fda-eba0-416f-a795-ccd2e7866db4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849764.796157} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.260531,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"521edc70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","rebac_allow":false,"scope_allow":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":"521edc70-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.272373,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a0e69d385aeccfed5c955c15ef834af1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849764,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2NH0.nn0rM24P5u6W947CeuLRRouT5T5R4L8UPG2G_sGPFmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a0e69d385aeccfed5c955c15ef834af1","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"521edc70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling 200 10ms","method":"POST","requestID":"521edc70-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","requestID":"a0e69d385aeccfed5c955c15ef834af1"} gateway-1 | {"time_local":"28/Apr/2025:14:16:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0e69d385aeccfed5c955c15ef834af1"} experiment-1 | {"level":"info","message":"GET /experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8 200 13ms","method":"GET","requestID":"a0e69d385aeccfed5c955c15ef834af1","responseTime":13,"status":200,"url":"/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2NH0.nn0rM24P5u6W947CeuLRRouT5T5R4L8UPG2G_sGPFmo","level":"info","message":"auth send jwt","requestID":"bf8ad6284e552cdd55d2fb1967cc10ae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bf8ad6284e552cdd55d2fb1967cc10ae","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","requestID":"bf8ad6284e552cdd55d2fb1967cc10ae"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.670104,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bf8ad6284e552cdd55d2fb1967cc10ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849764,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2NH0.nn0rM24P5u6W947CeuLRRouT5T5R4L8UPG2G_sGPFmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bf8ad6284e552cdd55d2fb1967cc10ae","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Attempting to finish experiment","requestID":"bf8ad6284e552cdd55d2fb1967cc10ae"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5226a4a0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.837703,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5226a4a0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849764,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2NH0.nn0rM24P5u6W947CeuLRRouT5T5R4L8UPG2G_sGPFmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5226a4a0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","device":"d15bf764-e271-4a92-8922-18110966cfb3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"59c8cfb4-cf90-448e-9a78-10b26bdaea2d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"59c8cfb4-cf90-448e-9a78-10b26bdaea2d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"59c8cfb4-cf90-448e-9a78-10b26bdaea2d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b8228c35-5d6f-4b4c-a97d-2c4d37f9495d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"14367e4bf5ff0f1928a90e2dd5f8c7c2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb8228c35-5d6f-4b4c-a97d-2c4d37f9495d': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb8228c35-5d6f-4b4c-a97d-2c4d37f9495d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"aab87f16-4394-45a9-b72c-403eea4fe8dc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849764.857707} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"14367e4bf5ff0f1928a90e2dd5f8c7c2","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":"closed","url":"http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d"}}},"level":"info","message":"received a callback","requestID":"14367e4bf5ff0f1928a90e2dd5f8c7c2"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cbcdbc1f7ca85db4c57f45c7277be9ac","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"cbcdbc1f7ca85db4c57f45c7277be9ac","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e557ffa2-f344-416d-95af-b29564659059","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849764.8580816} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"5226a4a0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d"}}},"level":"info","message":"received a callback","requestID":"cbcdbc1f7ca85db4c57f45c7277be9ac"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5226a4a0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d 204 87ms","method":"DELETE","requestID":"5226a4a0-243b-11f0-b067-2fe344ae06f8","responseTime":87,"status":204,"url":"/peerconnections/b8228c35-5d6f-4b4c-a97d-2c4d37f9495d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"},"level":"info","message":"Successfully finished experiment","requestID":"bf8ad6284e552cdd55d2fb1967cc10ae"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"52368320-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd15bf764-e271-4a92-8922-18110966cfb3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3284a95-584d-4efa-a5f9-e66c90a79dd6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849764.9509168} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.885393,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"52368320-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3","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":"52368320-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling 200 9ms","method":"POST","requestID":"52368320-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/d15bf764-e271-4a92-8922-18110966cfb3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"523830d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"523830d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling 200 8ms","method":"POST","requestID":"523830d0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"52368320-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59c8cfb4-cf90-448e-9a78-10b26bdaea2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c774cca0-b596-4bd6-9f15-090f03f6ecea","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849764.9611602} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.883667,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"523830d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59c8cfb4-cf90-448e-9a78-10b26bdaea2d","object_type":"device","rebac_allow":false,"scope_allow":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":"523830d0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c61df5e-d3fa-49ed-a766-d0e5e2006ed8': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"0cb535be-967a-4da6-a0d6-9d94c3cc211c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849764.9831727} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f69ee67-3c5a-49bd-918f-99aa2f5a1427","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849764.9834113} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"bf8ad6284e552cdd55d2fb1967cc10ae","responseTime":40,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8","requestID":"bf8ad6284e552cdd55d2fb1967cc10ae"} gateway-1 | {"time_local":"28/Apr/2025:14:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8 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":"bf8ad6284e552cdd55d2fb1967cc10ae"} experiment-1 | {"level":"info","message":"DELETE /experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8 204 199ms","method":"DELETE","requestID":"bf8ad6284e552cdd55d2fb1967cc10ae","responseTime":199,"status":204,"url":"/experiments/8c61df5e-d3fa-49ed-a766-d0e5e2006ed8"} gateway-1 | {"time_local":"28/Apr/2025:14:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2290","request_time":"4.006","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9410f564a21ca06098caef4292597f06"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 176ms","method":"POST","requestID":"14367e4bf5ff0f1928a90e2dd5f8c7c2","responseTime":176,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"14367e4bf5ff0f1928a90e2dd5f8c7c2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"cbcdbc1f7ca85db4c57f45c7277be9ac","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"cbcdbc1f7ca85db4c57f45c7277be9ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2NX0.GE-CFvXcJYFMjVaGNzwA9QfyXaUMRDPDRCtsOa-85L8","level":"info","message":"auth send jwt","requestID":"f4a240a845192277a157fee393dea60a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4a240a845192277a157fee393dea60a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f4a240a845192277a157fee393dea60a"} gateway-1 | {"time_local":"28/Apr/2025:14:16:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.819","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":"553b1aceb1948c9c6c95a56a6d4f1d6e"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.933966,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f4a240a845192277a157fee393dea60a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849765,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2NX0.GE-CFvXcJYFMjVaGNzwA9QfyXaUMRDPDRCtsOa-85L8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4a240a845192277a157fee393dea60a","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/59c8cfb4-cf90-448e-9a78-10b26bdaea2d' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d15bf764-e271-4a92-8922-18110966cfb3' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b1a6c6ec-9db7-4b13-921e-be988c4272f0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.080913} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4a240a845192277a157fee393dea60a","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c40f835-95fd-4909-be77-627a92037224","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.086264} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f4a240a845192277a157fee393dea60a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"95f1d52c-71e7-47af-a899-35dccf0ac509","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.1215262} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edb7becc-71da-4ee4-8ac2-711eb030983e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.121858} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"f4a240a845192277a157fee393dea60a","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.121511499Z"}]},"request_id":"d77068b2-e56e-4efa-a2ec-72ba69e10e52","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.1263902} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4a240a845192277a157fee393dea60a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f4a240a845192277a157fee393dea60a"} gateway-1 | {"time_local":"28/Apr/2025:14:16:05 +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":"f4a240a845192277a157fee393dea60a"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"f4a240a845192277a157fee393dea60a","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2NX0.GE-CFvXcJYFMjVaGNzwA9QfyXaUMRDPDRCtsOa-85L8","level":"info","message":"auth send jwt","requestID":"82f172af26aebd35bf15e79ffb132920"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"82f172af26aebd35bf15e79ffb132920","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"82f172af26aebd35bf15e79ffb132920"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:05Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.866464,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"82f172af26aebd35bf15e79ffb132920","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849765,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2NX0.GE-CFvXcJYFMjVaGNzwA9QfyXaUMRDPDRCtsOa-85L8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"82f172af26aebd35bf15e79ffb132920","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5c647d49-c524-414e-9a09-8582deefa57c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.1723945} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"82f172af26aebd35bf15e79ffb132920","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b969ca43-b4b3-4674-b446-c5f122a9fba0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.176193} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"82f172af26aebd35bf15e79ffb132920","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"b9bb9516-0913-4a88-9584-76babbf5ba47","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.1848323} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8e57d1b-cc83-4ccc-a6da-4a4f471706a8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.1850066} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"82f172af26aebd35bf15e79ffb132920","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.184821358Z"}]},"request_id":"1f454111-a6c1-4ced-8757-45c4405b0412","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849765.1889896} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"82f172af26aebd35bf15e79ffb132920","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"82f172af26aebd35bf15e79ffb132920"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"82f172af26aebd35bf15e79ffb132920","responseTime":58,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:05 +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":"82f172af26aebd35bf15e79ffb132920"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI","level":"info","message":"auth send jwt","requestID":"0915c5b3fac15490dc53c1c221bdb868"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"0915c5b3fac15490dc53c1c221bdb868","responseTime":29,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI","level":"info","message":"auth send jwt","requestID":"c555efff69d3322e7f03106dcdffc1c0"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"c555efff69d3322e7f03106dcdffc1c0","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0915c5b3fac15490dc53c1c221bdb868"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c555efff69d3322e7f03106dcdffc1c0"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592185,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0915c5b3fac15490dc53c1c221bdb868","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0915c5b3fac15490dc53c1c221bdb868","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.558239,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c555efff69d3322e7f03106dcdffc1c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c555efff69d3322e7f03106dcdffc1c0","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.121511499Z"}]},"request_id":"a98f412b-59be-4eaf-9d5e-a3183eeb63f5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.094192} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0915c5b3fac15490dc53c1c221bdb868","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.184821358Z"}]},"request_id":"ef025911-f4f5-4cab-8e81-b1a762b6517c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.0948427} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c555efff69d3322e7f03106dcdffc1c0","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8071f2ca-d889-4d10-8e94-dbc56aafb250","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.09915} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0915c5b3fac15490dc53c1c221bdb868","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dfc9a40e-ef61-4c09-bff7-609e12a3b701","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.1003532} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c555efff69d3322e7f03106dcdffc1c0","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.184821358Z"}]},"request_id":"fa427b79-87fe-4a30-bbd4-ac6d761bef35","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.104397} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c555efff69d3322e7f03106dcdffc1c0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c555efff69d3322e7f03106dcdffc1c0"} device-1 | {"level":"info","message":"PATCH /devices/76cd961c-e168-420c-9bbe-06f68825af8b 200 22ms","method":"PATCH","requestID":"c555efff69d3322e7f03106dcdffc1c0","responseTime":22,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/76cd961c-e168-420c-9bbe-06f68825af8b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c555efff69d3322e7f03106dcdffc1c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI","level":"info","message":"auth send jwt","requestID":"d17c57fbaebc3eddfe7a31fd3f5c2159"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"d17c57fbaebc3eddfe7a31fd3f5c2159","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d17c57fbaebc3eddfe7a31fd3f5c2159"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645665,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"d17c57fbaebc3eddfe7a31fd3f5c2159","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d17c57fbaebc3eddfe7a31fd3f5c2159","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.121511499Z"}]},"request_id":"64ad9ef8-cde0-46eb-8e3a-61ece5656a2c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.1449187} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0915c5b3fac15490dc53c1c221bdb868","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0915c5b3fac15490dc53c1c221bdb868"} gateway-1 | {"time_local":"28/Apr/2025:14:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.094","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0915c5b3fac15490dc53c1c221bdb868"} device-1 | {"level":"info","message":"PATCH /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2 200 63ms","method":"PATCH","requestID":"0915c5b3fac15490dc53c1c221bdb868","responseTime":63,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI","level":"info","message":"auth send jwt","requestID":"a88c7c121b08b5166ef409791a1fec8d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a88c7c121b08b5166ef409791a1fec8d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a88c7c121b08b5166ef409791a1fec8d"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747994,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a88c7c121b08b5166ef409791a1fec8d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a88c7c121b08b5166ef409791a1fec8d","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d17c57fbaebc3eddfe7a31fd3f5c2159"} device-1 | {"level":"info","message":"POST /devices/76cd961c-e168-420c-9bbe-06f68825af8b/websocket 200 45ms","method":"POST","requestID":"d17c57fbaebc3eddfe7a31fd3f5c2159","responseTime":45,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/76cd961c-e168-420c-9bbe-06f68825af8b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.072","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d17c57fbaebc3eddfe7a31fd3f5c2159"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a88c7c121b08b5166ef409791a1fec8d"} device-1 | {"level":"info","message":"POST /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/websocket 200 39ms","method":"POST","requestID":"a88c7c121b08b5166ef409791a1fec8d","responseTime":39,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/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.18","requestID":"a88c7c121b08b5166ef409791a1fec8d"} device-1 | {"level":"info","message":"device 'http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI","level":"info","message":"auth send jwt","requestID":"9db45251c0feb962733bbc5d49b36d60"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9db45251c0feb962733bbc5d49b36d60","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9db45251c0feb962733bbc5d49b36d60"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670908,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9db45251c0feb962733bbc5d49b36d60","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9db45251c0feb962733bbc5d49b36d60","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.121511499Z"}]},"request_id":"2e3f7bea-c570-471e-8633-09ce4924c271","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.2436442} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9db45251c0feb962733bbc5d49b36d60","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9db45251c0feb962733bbc5d49b36d60"} gateway-1 | {"time_local":"28/Apr/2025:14:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2? 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":"9db45251c0feb962733bbc5d49b36d60"} device-1 | {"level":"info","message":"GET /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2? 200 12ms","method":"GET","requestID":"9db45251c0feb962733bbc5d49b36d60","responseTime":12,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI","level":"info","message":"auth send jwt","requestID":"3694b1e6d8fa3b5761d8dfc8443730ce"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3694b1e6d8fa3b5761d8dfc8443730ce","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3694b1e6d8fa3b5761d8dfc8443730ce"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743271,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"3694b1e6d8fa3b5761d8dfc8443730ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3694b1e6d8fa3b5761d8dfc8443730ce","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.184821358Z"}]},"request_id":"3c0d4d9e-22ee-4327-b852-300c45ce5644","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.2602904} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3694b1e6d8fa3b5761d8dfc8443730ce","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3694b1e6d8fa3b5761d8dfc8443730ce"} gateway-1 | {"time_local":"28/Apr/2025:14:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/76cd961c-e168-420c-9bbe-06f68825af8b? 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":"3694b1e6d8fa3b5761d8dfc8443730ce"} device-1 | {"level":"info","message":"GET /devices/76cd961c-e168-420c-9bbe-06f68825af8b? 200 11ms","method":"GET","requestID":"3694b1e6d8fa3b5761d8dfc8443730ce","responseTime":11,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI","level":"info","message":"auth send jwt","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9bc31e00766ba8c18a83938ce5a8b57e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.656727,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9bc31e00766ba8c18a83938ce5a8b57e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9bc31e00766ba8c18a83938ce5a8b57e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Attempting to run experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Attempting to book experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Successfully booked experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5308c740-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"53091560-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.008871,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5308c740-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5308c740-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.574204,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"53091560-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"53091560-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.121511499Z"}]},"request_id":"fc28fcb6-bb94-48c5-adf5-b89cfe964eaf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.3320904} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5308c740-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.184821358Z"}]},"request_id":"fe48602a-a851-42b3-91a7-cd71f671a2a9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.3327029} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"53091560-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5308c740-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2? 200 14ms","method":"GET","requestID":"5308c740-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"53091560-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/76cd961c-e168-420c-9bbe-06f68825af8b? 200 14ms","method":"GET","requestID":"53091560-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Setting up experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Successfully set up experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"53201fd0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"53206df0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53209500-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Successfully running experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.020173,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"53201fd0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"53201fd0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67981,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"53206df0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"53206df0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62a9264c-86f0-4fac-9dcf-cc2def843537","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.4862247} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.940323,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"53209500-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","rebac_allow":false,"scope_allow":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":"53209500-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53209500-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling 200 16ms","method":"POST","requestID":"53209500-243b-11f0-b067-2fe344ae06f8","responseTime":16,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53235420-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"53201fd0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2? 200 30ms","method":"GET","requestID":"53201fd0-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"53206df0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/76cd961c-e168-420c-9bbe-06f68825af8b? 200 32ms","method":"GET","requestID":"53206df0-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53259e10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.121511499Z"}]},"request_id":"3a53899d-3fbd-43e2-9b74-c078afec35b0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5019124} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.184821358Z"}]},"request_id":"bb7f4f69-e0ff-4032-aed3-3dd64dab48cc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5031633} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"53201fd0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"53206df0-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f2ee69f-580f-4195-af1b-c420bcf5a77c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5147128} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.364148,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"53235420-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"53235420-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53235420-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling 200 21ms","method":"POST","requestID":"53235420-243b-11f0-b067-2fe344ae06f8","responseTime":21,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92eb2fbd-80e5-4f5a-913a-99f95d96b13c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.51691} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2ddc9f45-421f-48f8-97e8-1998890fc9ad#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2ddc9f45-421f-48f8-97e8-1998890fc9ad","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"260ddbf3-8b43-4155-815d-54fda69c1bfd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5191433} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"71fb37e6-a26c-4dc9-bed0-92d33db30a56","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5193813} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.350202,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"53259e10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","rebac_allow":false,"scope_allow":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":"53259e10-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"9bc31e00766ba8c18a83938ce5a8b57e","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53259e10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling 200 11ms","method":"POST","requestID":"53259e10-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5327c0f0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 261ms","method":"POST","requestID":"9bc31e00766ba8c18a83938ce5a8b57e","responseTime":261,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.265","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61624229-97c3-4aa1-a669-fc0addd4298b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5321977} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.588666,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5327c0f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","rebac_allow":false,"scope_allow":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":"5327c0f0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI","level":"info","message":"auth send jwt","requestID":"e1be58dbbc233054ac13b0ada586b6ac"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e1be58dbbc233054ac13b0ada586b6ac","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5327c0f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling 200 9ms","method":"POST","requestID":"5327c0f0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e1be58dbbc233054ac13b0ada586b6ac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Building connection plan","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"24d144cf-c710-403e-b4f5-31f382af4019"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"69584e64-4ad9-4ae3-8fc6-81a4c3f48ebe"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9ec2dac0-c2b7-442f-9f7b-7e304a209083"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.758197,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e1be58dbbc233054ac13b0ada586b6ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e1be58dbbc233054ac13b0ada586b6ac","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.136185,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.121511499Z"}]},"request_id":"c8aed44f-81f9-4c78-977f-57665798490f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5446405} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e1be58dbbc233054ac13b0ada586b6ac","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e1be58dbbc233054ac13b0ada586b6ac"} device-1 | {"level":"info","message":"GET /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2? 200 12ms","method":"GET","requestID":"e1be58dbbc233054ac13b0ada586b6ac","responseTime":12,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2? 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":"e1be58dbbc233054ac13b0ada586b6ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI","level":"info","message":"auth send jwt","requestID":"bb97728b7fb41165d20a65366185b1ec"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb97728b7fb41165d20a65366185b1ec","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bb97728b7fb41165d20a65366185b1ec"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"ffbb7e74-c55c-4d77-b00a-2c1a11c6f296","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5544531} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a56e38e8-4369-4ad7-af63-4fd22991960b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5546184} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6973,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bb97728b7fb41165d20a65366185b1ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849766,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2Nn0.SF-Gve4-xu_3t5eykldSXwFh9cjt59uQGmGQrb0yDyI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bb97728b7fb41165d20a65366185b1ec","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:05.184821358Z"}]},"request_id":"af48b42b-34e8-4974-b508-f8b548563310","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.5616324} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb97728b7fb41165d20a65366185b1ec","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f'","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f'","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8","responseTime":27,"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":"bb97728b7fb41165d20a65366185b1ec"} gateway-1 | {"time_local":"28/Apr/2025:14:16:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/76cd961c-e168-420c-9bbe-06f68825af8b? 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":"bb97728b7fb41165d20a65366185b1ec"} device-1 | {"level":"info","message":"GET /devices/76cd961c-e168-420c-9bbe-06f68825af8b? 200 13ms","method":"GET","requestID":"bb97728b7fb41165d20a65366185b1ec","responseTime":13,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"5329bcc0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9bc31e00766ba8c18a83938ce5a8b57e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5335cab0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a0dbd96-f25a-4746-8aef-213e6b8e85bb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.6238515} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.566431,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5335cab0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","rebac_allow":false,"scope_allow":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":"5335cab0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5335cab0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling 200 9ms","method":"POST","requestID":"5335cab0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53377860-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea9570cb-898a-4907-9c66-401d2bf4a080","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849766.6582055} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.6309,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"53377860-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","rebac_allow":false,"scope_allow":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":"53377860-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53377860-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling 200 32ms","method":"POST","requestID":"53377860-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling"} device-1 | {"device":"5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"cef05b82-89f3-4e47-9898-26b0d0d8a95f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"cef05b82-89f3-4e47-9898-26b0d0d8a95f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/cef05b82-89f3-4e47-9898-26b0d0d8a95f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cef05b82-89f3-4e47-9898-26b0d0d8a95f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d8d865091fe649d852043951b6326b1f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d8d865091fe649d852043951b6326b1f","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/76cd961c-e168-420c-9bbe-06f68825af8b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f"}}},"level":"info","message":"received a callback","requestID":"d8d865091fe649d852043951b6326b1f"} device-1 | {"device":"5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"d8d865091fe649d852043951b6326b1f","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:08 +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":"d8d865091fe649d852043951b6326b1f"} device-1 | {"data":{"peerconnection":"cef05b82-89f3-4e47-9898-26b0d0d8a95f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"cef05b82-89f3-4e47-9898-26b0d0d8a95f","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/cef05b82-89f3-4e47-9898-26b0d0d8a95f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cef05b82-89f3-4e47-9898-26b0d0d8a95f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5a411f6cf9da19a1d49f4d820eada659","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"5a411f6cf9da19a1d49f4d820eada659","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/76cd961c-e168-420c-9bbe-06f68825af8b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f"}}},"level":"info","message":"received a callback","requestID":"5a411f6cf9da19a1d49f4d820eada659"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"546c9d00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcef05b82-89f3-4e47-9898-26b0d0d8a95f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0be3a17-bdfa-497f-9cd4-60d3d0f9cba1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849768.6623516} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.219904,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"546c9d00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f","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":"546c9d00-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"546c9d00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f 200 11ms","method":"GET","requestID":"546c9d00-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 36ms","method":"POST","requestID":"5a411f6cf9da19a1d49f4d820eada659","responseTime":36,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:08 +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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"5a411f6cf9da19a1d49f4d820eada659"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5471a610-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c100a87-bddf-4382-865c-52c54a32e702","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849768.6948884} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.80624,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5471a610-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","rebac_allow":false,"scope_allow":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":"5471a610-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5471a610-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling 200 22ms","method":"POST","requestID":"5471a610-243b-11f0-b067-2fe344ae06f8","responseTime":22,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"54777270-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f6f5795-dd2b-43ef-99d4-381fec989806","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849768.7338438} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.372518,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"54777270-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","rebac_allow":false,"scope_allow":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":"54777270-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"54777270-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling 200 13ms","method":"POST","requestID":"54777270-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OH0.9DKUwIMc-sOZQJO6jEwzV8lmOGzhCSWjxKYCyqsTrM8","level":"info","message":"auth send jwt","requestID":"62b94e31ee31625de4706418f12957a7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"62b94e31ee31625de4706418f12957a7","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad","requestID":"62b94e31ee31625de4706418f12957a7"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.72474,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"62b94e31ee31625de4706418f12957a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849768,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OH0.9DKUwIMc-sOZQJO6jEwzV8lmOGzhCSWjxKYCyqsTrM8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"62b94e31ee31625de4706418f12957a7","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad","requestID":"62b94e31ee31625de4706418f12957a7"} gateway-1 | {"time_local":"28/Apr/2025:14:16:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62b94e31ee31625de4706418f12957a7"} experiment-1 | {"level":"info","message":"GET /experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad 200 35ms","method":"GET","requestID":"62b94e31ee31625de4706418f12957a7","responseTime":35,"status":200,"url":"/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OH0.9DKUwIMc-sOZQJO6jEwzV8lmOGzhCSWjxKYCyqsTrM8","level":"info","message":"auth send jwt","requestID":"7d863429971e73eb43e496bafaa64a2f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d863429971e73eb43e496bafaa64a2f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad","requestID":"7d863429971e73eb43e496bafaa64a2f"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.895452,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7d863429971e73eb43e496bafaa64a2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849768,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OH0.9DKUwIMc-sOZQJO6jEwzV8lmOGzhCSWjxKYCyqsTrM8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7d863429971e73eb43e496bafaa64a2f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Attempting to finish experiment","requestID":"7d863429971e73eb43e496bafaa64a2f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"54855520-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.812387,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"54855520-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849768,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OH0.9DKUwIMc-sOZQJO6jEwzV8lmOGzhCSWjxKYCyqsTrM8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"54855520-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76cd961c-e168-420c-9bbe-06f68825af8b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/cef05b82-89f3-4e47-9898-26b0d0d8a95f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cef05b82-89f3-4e47-9898-26b0d0d8a95f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b365cabe4e6a740dd01aa42c614ff189","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b365cabe4e6a740dd01aa42c614ff189","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcef05b82-89f3-4e47-9898-26b0d0d8a95f': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcef05b82-89f3-4e47-9898-26b0d0d8a95f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"86c32249-28bf-49b9-bf69-792c2e3d3202","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849768.8339415} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"159e977e-4f46-4a46-93a2-3255bcddad4c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849768.834324} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6c9fb388a8f46ed7cd358dc6fb2ca801","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"connected","url":"http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f"}}},"level":"info","message":"received a callback","requestID":"b365cabe4e6a740dd01aa42c614ff189"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6c9fb388a8f46ed7cd358dc6fb2ca801","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"54855520-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f"}}},"level":"info","message":"received a callback","requestID":"6c9fb388a8f46ed7cd358dc6fb2ca801"} device-1 | {"data":{"peerconnection":"cef05b82-89f3-4e47-9898-26b0d0d8a95f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"54855520-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f 204 64ms","method":"DELETE","requestID":"54855520-243b-11f0-b067-2fe344ae06f8","responseTime":64,"status":204,"url":"/peerconnections/cef05b82-89f3-4e47-9898-26b0d0d8a95f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"},"level":"info","message":"Successfully finished experiment","requestID":"7d863429971e73eb43e496bafaa64a2f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5495cfe0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76cd961c-e168-420c-9bbe-06f68825af8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4761f21d-8e69-4000-ae00-a0f7d4847826","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849768.9308555} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.449984,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5495cfe0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b","object_type":"device","rebac_allow":false,"scope_allow":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":"5495cfe0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5495cfe0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling 200 11ms","method":"POST","requestID":"5495cfe0-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/76cd961c-e168-420c-9bbe-06f68825af8b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5497cbb0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2ddc9f45-421f-48f8-97e8-1998890fc9ad': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2ddc9f45-421f-48f8-97e8-1998890fc9ad","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"76392a5e-3f6e-41d9-a6b0-ef7308320825","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849768.965781} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c78d9e50-9d31-4799-a78f-5b16b82ae328","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849768.9660938} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94e19358-887a-4fa7-a2ca-5bd7cde0c683","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849768.96611} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"7d863429971e73eb43e496bafaa64a2f","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.998228,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5497cbb0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2","object_type":"device","rebac_allow":false,"scope_allow":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":"5497cbb0-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5497cbb0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling 200 32ms","method":"POST","requestID":"5497cbb0-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad","requestID":"7d863429971e73eb43e496bafaa64a2f"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.285","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d863429971e73eb43e496bafaa64a2f"} experiment-1 | {"level":"info","message":"DELETE /experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad 204 282ms","method":"DELETE","requestID":"7d863429971e73eb43e496bafaa64a2f","responseTime":282,"status":204,"url":"/experiments/2ddc9f45-421f-48f8-97e8-1998890fc9ad"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.884","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e96ac2502f9ca82d395c2cdfcbebae1f"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.874","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"bb5fcb8011d069690d6f24eb1b99cd1b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 235ms","method":"POST","requestID":"b365cabe4e6a740dd01aa42c614ff189","responseTime":235,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.238","http_referrer":"","http_user_agent":"node-fetch","requestID":"b365cabe4e6a740dd01aa42c614ff189"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 234ms","method":"POST","requestID":"6c9fb388a8f46ed7cd358dc6fb2ca801","responseTime":234,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.238","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c9fb388a8f46ed7cd358dc6fb2ca801"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5b65cb94-acf9-4ab0-b32a-a41ae0dd42d2' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"cb9c6e6f96aa41220350b874f87a59be"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"cb9c6e6f96aa41220350b874f87a59be","responseTime":10,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/76cd961c-e168-420c-9bbe-06f68825af8b' closed"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} device-1 | {"level":"info","message":"postDevices called","requestID":"cb9c6e6f96aa41220350b874f87a59be"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.631422,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"cb9c6e6f96aa41220350b874f87a59be","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"cb9c6e6f96aa41220350b874f87a59be","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96535839-b502-4591-8d5b-9c9ef92e1957","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4ebc22fa-2b16-4b37-a8b9-9c5a4cf4a8dc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.1176107} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb9c6e6f96aa41220350b874f87a59be","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f68004df-de2c-4af8-a211-8a8e069c77a1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.123176} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"cb9c6e6f96aa41220350b874f87a59be","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96535839-b502-4591-8d5b-9c9ef92e1957","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"ea9ef3f5-ee22-425f-8b6c-c6ad6a43894d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.1364794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29bc68b4-4feb-4f4a-ab4a-04761801fb43","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.1366928} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"cb9c6e6f96aa41220350b874f87a59be","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96535839-b502-4591-8d5b-9c9ef92e1957","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96535839-b502-4591-8d5b-9c9ef92e1957","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.136465627Z"}]},"request_id":"b3339e98-9475-4180-b241-c1dd8efcc9a9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.1420712} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cb9c6e6f96aa41220350b874f87a59be","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cb9c6e6f96aa41220350b874f87a59be"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb9c6e6f96aa41220350b874f87a59be"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"cb9c6e6f96aa41220350b874f87a59be","responseTime":66,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.904817,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8d30a62255f9a4d8532b0ad7f16f58a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffbc37c77-0695-4ad7-bcdb-6dab03df11cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9a35f751-9807-4c2b-8c5f-a0764ca4c0ac","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.169687} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7d5caf4-1a78-45c0-bae2-1c72e539a416","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.1749902} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffbc37c77-0695-4ad7-bcdb-6dab03df11cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"03f90f2a-27c4-4dc7-b2a6-daaba5c42686","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.1849558} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe46b634-4474-47a4-b277-902824111837","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.1852052} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffbc37c77-0695-4ad7-bcdb-6dab03df11cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffbc37c77-0695-4ad7-bcdb-6dab03df11cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.184942520Z"}]},"request_id":"ba9fe0ee-61f5-44a7-b5ab-97c6102caa7f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.1902673} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"8d30a62255f9a4d8532b0ad7f16f58a8","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"8b93dc446e7e6f57733edbb78000ddef"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b93dc446e7e6f57733edbb78000ddef","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8b93dc446e7e6f57733edbb78000ddef"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694606,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8b93dc446e7e6f57733edbb78000ddef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8b93dc446e7e6f57733edbb78000ddef","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc9ed05e0-5b0b-455f-b632-ba12bc9d9106","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ceab4bd4-caa5-4e9d-bd97-02d8ff73bd5e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.2126503} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8b93dc446e7e6f57733edbb78000ddef","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35bd54a8-a8df-42d6-9d27-675e6fe1fc73","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.216653} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"8b93dc446e7e6f57733edbb78000ddef","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc9ed05e0-5b0b-455f-b632-ba12bc9d9106","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"02420c06-ee7f-4a56-b721-ef24b2696aa9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.2509427} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17373ba5-0c59-4097-a962-fc638f8b5fc9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.251098} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"8b93dc446e7e6f57733edbb78000ddef","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc9ed05e0-5b0b-455f-b632-ba12bc9d9106","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc9ed05e0-5b0b-455f-b632-ba12bc9d9106","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.250925772Z"}]},"request_id":"0b087362-361a-42c3-a6df-27105c96fd33","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.2546515} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8b93dc446e7e6f57733edbb78000ddef","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8b93dc446e7e6f57733edbb78000ddef"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +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":"8b93dc446e7e6f57733edbb78000ddef"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"8b93dc446e7e6f57733edbb78000ddef","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"06d177b54ea2449e0b2e77d3cf29c81d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"06d177b54ea2449e0b2e77d3cf29c81d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"06d177b54ea2449e0b2e77d3cf29c81d"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.648135,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"06d177b54ea2449e0b2e77d3cf29c81d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"06d177b54ea2449e0b2e77d3cf29c81d","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9dd2fd67-be0f-407b-97c5-daf84720cce7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"335c582b-e370-4cc6-bf4a-ae234d402b44","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.298545} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"06d177b54ea2449e0b2e77d3cf29c81d","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a45e1130-2b59-41cd-b0df-9ac27dd6f91a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.303217} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"06d177b54ea2449e0b2e77d3cf29c81d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9dd2fd67-be0f-407b-97c5-daf84720cce7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"7efda8a5-60a8-43fe-80ba-1e848c4a1750","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.3128057} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb1b1354-5196-4c10-b1cf-6c791aeb8116","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.3130825} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"06d177b54ea2449e0b2e77d3cf29c81d","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9dd2fd67-be0f-407b-97c5-daf84720cce7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9dd2fd67-be0f-407b-97c5-daf84720cce7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.312789751Z"}]},"request_id":"c3acaf1c-7cff-4c57-be18-aeb1c7166a52","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.3164904} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"06d177b54ea2449e0b2e77d3cf29c81d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"06d177b54ea2449e0b2e77d3cf29c81d"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06d177b54ea2449e0b2e77d3cf29c81d"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"06d177b54ea2449e0b2e77d3cf29c81d","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"0bb189e40739e1aa7909d8cbcf209bf3"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"0bb189e40739e1aa7909d8cbcf209bf3","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0bb189e40739e1aa7909d8cbcf209bf3"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.708548,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0bb189e40739e1aa7909d8cbcf209bf3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0bb189e40739e1aa7909d8cbcf209bf3","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc03b6f21-c717-421a-9eff-2e852f3aa7e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a66a1f2c-9634-4bc9-9878-1198a7ce8e84","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.3612123} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0bb189e40739e1aa7909d8cbcf209bf3","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1792f62-4bfe-4832-88b8-e6254bb60975","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.3649318} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0bb189e40739e1aa7909d8cbcf209bf3","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc03b6f21-c717-421a-9eff-2e852f3aa7e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"db311d8f-839d-452b-95b1-14f4115defaf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.3944662} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8dc74b14-feba-4f51-9fa7-5d9b854b720c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.3944905} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"0bb189e40739e1aa7909d8cbcf209bf3","responseTime":31,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc03b6f21-c717-421a-9eff-2e852f3aa7e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc03b6f21-c717-421a-9eff-2e852f3aa7e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.394449232Z"}]},"request_id":"511bcf0b-c511-448d-b859-f1896098c996","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.397931} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0bb189e40739e1aa7909d8cbcf209bf3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0bb189e40739e1aa7909d8cbcf209bf3"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"0bb189e40739e1aa7909d8cbcf209bf3","responseTime":53,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0bb189e40739e1aa7909d8cbcf209bf3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"87671118f827d5f2f3cab9a3e2fd9437"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87671118f827d5f2f3cab9a3e2fd9437","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"87671118f827d5f2f3cab9a3e2fd9437"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.600883,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"87671118f827d5f2f3cab9a3e2fd9437","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87671118f827d5f2f3cab9a3e2fd9437","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6f6dcb2-377c-4b20-a13e-206f2912526d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e07f6c14-4981-4496-88f0-da2f3b19cb21","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.4429018} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"87671118f827d5f2f3cab9a3e2fd9437","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae8bbe1a-a9ad-4ffe-98a2-1e9d893db1fb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.4467633} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"87671118f827d5f2f3cab9a3e2fd9437","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6f6dcb2-377c-4b20-a13e-206f2912526d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"d7e99a82-3e8f-4b1b-8775-23611089191c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.456214} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e14dada-24da-47ec-ae7e-509a16904b21","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.4563947} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"87671118f827d5f2f3cab9a3e2fd9437","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6f6dcb2-377c-4b20-a13e-206f2912526d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc6f6dcb2-377c-4b20-a13e-206f2912526d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.456201160Z"}]},"request_id":"4ef0f09b-cca3-4bfd-9ba5-feb7abe39b53","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.460257} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87671118f827d5f2f3cab9a3e2fd9437","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"87671118f827d5f2f3cab9a3e2fd9437"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87671118f827d5f2f3cab9a3e2fd9437"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"87671118f827d5f2f3cab9a3e2fd9437","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"0df0fa15f88da414dd61a601379f8436"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0df0fa15f88da414dd61a601379f8436","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0df0fa15f88da414dd61a601379f8436"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.643783,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0df0fa15f88da414dd61a601379f8436","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"0df0fa15f88da414dd61a601379f8436","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ea0580-b0eb-48ed-b75a-12ac06e4d8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d5a9e54f-034b-4326-8eaf-5044c55be545","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.5006943} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0df0fa15f88da414dd61a601379f8436","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68c6c1d3-7816-43e6-a950-a73d02228eb1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.5043228} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0df0fa15f88da414dd61a601379f8436","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ea0580-b0eb-48ed-b75a-12ac06e4d8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"25e07df8-a74c-43e5-a9bb-870074875695","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.5145023} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"639e45ce-471b-43a3-a301-c8d6483708b9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.5146213} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"0df0fa15f88da414dd61a601379f8436","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0df0fa15f88da414dd61a601379f8436"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ea0580-b0eb-48ed-b75a-12ac06e4d8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F98ea0580-b0eb-48ed-b75a-12ac06e4d8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.514489518Z"}]},"request_id":"021fce1a-2c47-4995-9b28-aacb8dcb83c5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.5382843} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0df0fa15f88da414dd61a601379f8436","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0df0fa15f88da414dd61a601379f8436"} device-1 | {"level":"info","message":"POST /devices? 201 73ms","method":"POST","requestID":"0df0fa15f88da414dd61a601379f8436","responseTime":73,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"2d3d14e1c37fd06746e32f8a75e01621"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2d3d14e1c37fd06746e32f8a75e01621","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2d3d14e1c37fd06746e32f8a75e01621"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.687,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2d3d14e1c37fd06746e32f8a75e01621","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2d3d14e1c37fd06746e32f8a75e01621","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78093f1d-dbb8-49ed-ac60-cf109d43c4e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"663b7249-fd52-4ad9-82aa-f4651e288e46","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.5603096} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"2d3d14e1c37fd06746e32f8a75e01621","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8466c7c3-4102-4e53-89c3-9ea424a3a60f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.5881302} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2d3d14e1c37fd06746e32f8a75e01621","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78093f1d-dbb8-49ed-ac60-cf109d43c4e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"a0af004f-859b-4694-b065-93671fbdce1b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.5998924} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"291c5e40-2b92-483d-ac94-29261783d94c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.6000152} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"2d3d14e1c37fd06746e32f8a75e01621","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78093f1d-dbb8-49ed-ac60-cf109d43c4e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78093f1d-dbb8-49ed-ac60-cf109d43c4e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.599879695Z"}]},"request_id":"61b67e85-0230-4cbf-9171-d7e28dfc819d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.6036553} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2d3d14e1c37fd06746e32f8a75e01621","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2d3d14e1c37fd06746e32f8a75e01621"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +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":"2d3d14e1c37fd06746e32f8a75e01621"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"2d3d14e1c37fd06746e32f8a75e01621","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"c6a9e65a32eb2eed2eed5f4696431770"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c6a9e65a32eb2eed2eed5f4696431770","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c6a9e65a32eb2eed2eed5f4696431770"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.835259,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c6a9e65a32eb2eed2eed5f4696431770","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"c6a9e65a32eb2eed2eed5f4696431770","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc756c24-88ff-4baf-88b9-0161991faf53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7adde465-88bc-4573-9f16-5eef14fe5be9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.6508148} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c6a9e65a32eb2eed2eed5f4696431770","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6452037-b6bc-4d33-9267-234082c1e6fa","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.656647} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"c6a9e65a32eb2eed2eed5f4696431770","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc756c24-88ff-4baf-88b9-0161991faf53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"011e3972-9f74-4390-be83-8c2efa95b062","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.6906517} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"814ec7a3-2237-49c9-9465-41a1108dd1ee","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.690829} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"c6a9e65a32eb2eed2eed5f4696431770","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc756c24-88ff-4baf-88b9-0161991faf53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc756c24-88ff-4baf-88b9-0161991faf53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.690638199Z"}]},"request_id":"b2c16aea-5533-4c81-af48-10a703999ef1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.6946244} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c6a9e65a32eb2eed2eed5f4696431770","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c6a9e65a32eb2eed2eed5f4696431770"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +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":"c6a9e65a32eb2eed2eed5f4696431770"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"c6a9e65a32eb2eed2eed5f4696431770","responseTime":85,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"3332e99e487e9aa3ea5affcd579c751e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3332e99e487e9aa3ea5affcd579c751e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3332e99e487e9aa3ea5affcd579c751e"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.713995,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"3332e99e487e9aa3ea5affcd579c751e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3332e99e487e9aa3ea5affcd579c751e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff82f1796-e36a-4223-9cc9-bf2a6c27396e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bcc4dbe0-ed9b-41a4-9d55-a16756608541","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.7355273} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3332e99e487e9aa3ea5affcd579c751e","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1d01b07-c7c1-4470-9b9b-3515bde24718","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.7394428} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3332e99e487e9aa3ea5affcd579c751e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff82f1796-e36a-4223-9cc9-bf2a6c27396e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"0b860ff8-7173-4a75-9034-7b4c5705bb49","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.7514293} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26cfda92-8d0d-47b8-ba61-68a700528d24","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.751683} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"3332e99e487e9aa3ea5affcd579c751e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff82f1796-e36a-4223-9cc9-bf2a6c27396e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff82f1796-e36a-4223-9cc9-bf2a6c27396e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.751411490Z"}]},"request_id":"1c709966-9c8b-4aeb-95ef-59693559dcea","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.7793741} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3332e99e487e9aa3ea5affcd579c751e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3332e99e487e9aa3ea5affcd579c751e"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3332e99e487e9aa3ea5affcd579c751e"} device-1 | {"level":"info","message":"POST /devices? 201 80ms","method":"POST","requestID":"3332e99e487e9aa3ea5affcd579c751e","responseTime":80,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"6188f3a527f0ffed4b7e6ea9be213823"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6188f3a527f0ffed4b7e6ea9be213823","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6188f3a527f0ffed4b7e6ea9be213823"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.756784,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6188f3a527f0ffed4b7e6ea9be213823","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6188f3a527f0ffed4b7e6ea9be213823","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d15421aa-dfb8-44ec-b3e4-e1f8a6ab8c22","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.8006854} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"6188f3a527f0ffed4b7e6ea9be213823","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c290e83d-e932-4957-a9a7-02525ea6dd0b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.8289711} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"6188f3a527f0ffed4b7e6ea9be213823","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"2c6c8bc2-b4f9-42b6-9d5b-127daab4a8b8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.839138} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"093bf593-3a10-471c-9b28-af90d642451e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.8393173} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"6188f3a527f0ffed4b7e6ea9be213823","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.839118593Z"}]},"request_id":"81662544-3bec-4b49-83ad-0a4f6ebde906","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.8430429} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6188f3a527f0ffed4b7e6ea9be213823","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6188f3a527f0ffed4b7e6ea9be213823"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"6188f3a527f0ffed4b7e6ea9be213823","responseTime":59,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6188f3a527f0ffed4b7e6ea9be213823"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"bd0bf8e065d39e073b4547a71bda7fcc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd0bf8e065d39e073b4547a71bda7fcc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bd0bf8e065d39e073b4547a71bda7fcc"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.853514,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bd0bf8e065d39e073b4547a71bda7fcc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"bd0bf8e065d39e073b4547a71bda7fcc","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fca15bde-c776-485f-aecb-3ad63dac5ea2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.8858232} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bd0bf8e065d39e073b4547a71bda7fcc","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"950690ef-71b2-4c48-b388-b34aa15a95f0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.8899016} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bd0bf8e065d39e073b4547a71bda7fcc","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"81336839-0dfe-4871-bfe4-92176b79329d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.9211955} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df20fb80-7820-434a-98dc-da5469c2af19","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.9214804} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"bd0bf8e065d39e073b4547a71bda7fcc","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.921176781Z"}]},"request_id":"7d98207c-bef2-48ef-a3eb-485d57e1ab08","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.925735} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bd0bf8e065d39e073b4547a71bda7fcc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bd0bf8e065d39e073b4547a71bda7fcc"} device-1 | {"level":"info","message":"POST /devices? 201 76ms","method":"POST","requestID":"bd0bf8e065d39e073b4547a71bda7fcc","responseTime":76,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd0bf8e065d39e073b4547a71bda7fcc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"81402deb55acb1a498fe2fa0bf162c9f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"81402deb55acb1a498fe2fa0bf162c9f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"81402deb55acb1a498fe2fa0bf162c9f"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.676193,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"81402deb55acb1a498fe2fa0bf162c9f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"81402deb55acb1a498fe2fa0bf162c9f","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dd723ee7-eb69-49d9-8d43-648f9e073f5e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.9474669} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"81402deb55acb1a498fe2fa0bf162c9f","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d4e5e0c-628d-4563-8b29-6103eea4a9bf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.9717178} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"81402deb55acb1a498fe2fa0bf162c9f","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"c7d667ae-ebe0-4c2b-a92c-4028974dd8e9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.980529} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8bba2ef-0600-40c8-9878-b6641db00ff8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.9806364} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"81402deb55acb1a498fe2fa0bf162c9f","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.980513505Z"}]},"request_id":"f280a661-9eb9-49b8-b98b-7b41c6fd2598","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849769.9844265} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"81402deb55acb1a498fe2fa0bf162c9f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"81402deb55acb1a498fe2fa0bf162c9f"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"81402deb55acb1a498fe2fa0bf162c9f","responseTime":54,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81402deb55acb1a498fe2fa0bf162c9f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw","level":"info","message":"auth send jwt","requestID":"bcb9d6b723b90f376541d3da578bc931"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"bcb9d6b723b90f376541d3da578bc931","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"bcb9d6b723b90f376541d3da578bc931"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726985,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2381ff3e-88de-42c8-9094-2f4a589eea31","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bcb9d6b723b90f376541d3da578bc931","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/2381ff3e-88de-42c8-9094-2f4a589eea31","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849769,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc2OX0.Ytar98oKbwwZTdXPJW1dK42o94rAHWFvIiBM-ztelIw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bcb9d6b723b90f376541d3da578bc931","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.839118593Z"}]},"request_id":"73e7849b-0c45-47ef-aebb-1f16aef5b0bd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.0262542} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bcb9d6b723b90f376541d3da578bc931","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7a3b479-b482-4dc9-8bac-93d388eead79","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.0304527} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bcb9d6b723b90f376541d3da578bc931","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.839118593Z"}]},"request_id":"bc97768d-b8f0-41ee-a90d-eb72b12b7144","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.0746243} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bcb9d6b723b90f376541d3da578bc931","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"bcb9d6b723b90f376541d3da578bc931"} gateway-1 | {"time_local":"28/Apr/2025:14:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2381ff3e-88de-42c8-9094-2f4a589eea31? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcb9d6b723b90f376541d3da578bc931"} device-1 | {"level":"info","message":"PATCH /devices/2381ff3e-88de-42c8-9094-2f4a589eea31? 200 59ms","method":"PATCH","requestID":"bcb9d6b723b90f376541d3da578bc931","responseTime":59,"status":200,"url":"/devices/2381ff3e-88de-42c8-9094-2f4a589eea31?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA","level":"info","message":"auth send jwt","requestID":"c85b3f0aae5ef19edd1e6c79d651396b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c85b3f0aae5ef19edd1e6c79d651396b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c85b3f0aae5ef19edd1e6c79d651396b"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.080778,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b66166b-fd77-4c4b-a435-356e7d66196d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c85b3f0aae5ef19edd1e6c79d651396b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/3b66166b-fd77-4c4b-a435-356e7d66196d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c85b3f0aae5ef19edd1e6c79d651396b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.921176781Z"}]},"request_id":"b79e51bb-e120-4bee-9d7b-f67c4bd3096f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.1157827} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c85b3f0aae5ef19edd1e6c79d651396b","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"24b4e26c-e200-46fc-a9ec-5a974f5bbbc8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.1208093} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c85b3f0aae5ef19edd1e6c79d651396b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.921176781Z"}]},"request_id":"5b19529f-d738-448e-944c-0b5577c2da5f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.130992} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c85b3f0aae5ef19edd1e6c79d651396b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c85b3f0aae5ef19edd1e6c79d651396b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3b66166b-fd77-4c4b-a435-356e7d66196d? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c85b3f0aae5ef19edd1e6c79d651396b"} device-1 | {"level":"info","message":"PATCH /devices/3b66166b-fd77-4c4b-a435-356e7d66196d? 200 51ms","method":"PATCH","requestID":"c85b3f0aae5ef19edd1e6c79d651396b","responseTime":51,"status":200,"url":"/devices/3b66166b-fd77-4c4b-a435-356e7d66196d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA","level":"info","message":"auth send jwt","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.009549,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.980513505Z"}]},"request_id":"5167721c-0291-4632-b5ed-767677d65687","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.1679175} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b54d815b-1431-49c9-910f-737146614145","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.1724622} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.980513505Z"}]},"request_id":"b57c096b-e1e0-486c-8636-b1b7512a8d61","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.1827142} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d"} gateway-1 | {"time_local":"28/Apr/2025:14:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d"} device-1 | {"level":"info","message":"PATCH /devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71? 200 73ms","method":"PATCH","requestID":"3ea7c212bd864ecfdfbd4fb19d98bd8d","responseTime":73,"status":200,"url":"/devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA","level":"info","message":"auth send jwt","requestID":"69896223b7bd70bcd8c507cbff4cead3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"69896223b7bd70bcd8c507cbff4cead3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"69896223b7bd70bcd8c507cbff4cead3"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729582,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2381ff3e-88de-42c8-9094-2f4a589eea31","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69896223b7bd70bcd8c507cbff4cead3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/2381ff3e-88de-42c8-9094-2f4a589eea31","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"69896223b7bd70bcd8c507cbff4cead3","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2381ff3e-88de-42c8-9094-2f4a589eea31","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.839118593Z"}]},"request_id":"a4e358b2-8bc2-4437-841f-f8b2e92e441c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.2227027} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"69896223b7bd70bcd8c507cbff4cead3","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662907,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.545684,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96535839-b502-4591-8d5b-9c9ef92e1957","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69896223b7bd70bcd8c507cbff4cead3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/96535839-b502-4591-8d5b-9c9ef92e1957","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"69896223b7bd70bcd8c507cbff4cead3","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fbc37c77-0695-4ad7-bcdb-6dab03df11cd","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69896223b7bd70bcd8c507cbff4cead3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/fbc37c77-0695-4ad7-bcdb-6dab03df11cd","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"69896223b7bd70bcd8c507cbff4cead3","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862371,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b66166b-fd77-4c4b-a435-356e7d66196d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69896223b7bd70bcd8c507cbff4cead3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/3b66166b-fd77-4c4b-a435-356e7d66196d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69896223b7bd70bcd8c507cbff4cead3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755124,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c9ed05e0-5b0b-455f-b632-ba12bc9d9106","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69896223b7bd70bcd8c507cbff4cead3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c9ed05e0-5b0b-455f-b632-ba12bc9d9106","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"69896223b7bd70bcd8c507cbff4cead3","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"69896223b7bd70bcd8c507cbff4cead3"} gateway-1 | {"time_local":"28/Apr/2025:14:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2381ff3e-88de-42c8-9094-2f4a589eea31? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69896223b7bd70bcd8c507cbff4cead3"} device-1 | {"level":"info","message":"GET /devices/2381ff3e-88de-42c8-9094-2f4a589eea31? 200 47ms","method":"GET","requestID":"69896223b7bd70bcd8c507cbff4cead3","responseTime":47,"status":200,"url":"/devices/2381ff3e-88de-42c8-9094-2f4a589eea31?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA","level":"info","message":"auth send jwt","requestID":"09c71a11b75f9514f51f9964a02b3d94"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"09c71a11b75f9514f51f9964a02b3d94","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"09c71a11b75f9514f51f9964a02b3d94"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654972,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b66166b-fd77-4c4b-a435-356e7d66196d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"09c71a11b75f9514f51f9964a02b3d94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/3b66166b-fd77-4c4b-a435-356e7d66196d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"09c71a11b75f9514f51f9964a02b3d94","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b66166b-fd77-4c4b-a435-356e7d66196d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.921176781Z"}]},"request_id":"cb49fcf6-2a00-458b-a62a-41d0bb20af17","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.2740269} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"09c71a11b75f9514f51f9964a02b3d94","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.044774,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.457072,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.46544,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9dd2fd67-be0f-407b-97c5-daf84720cce7","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"09c71a11b75f9514f51f9964a02b3d94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9dd2fd67-be0f-407b-97c5-daf84720cce7","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"09c71a11b75f9514f51f9964a02b3d94","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c03b6f21-c717-421a-9eff-2e852f3aa7e1","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"09c71a11b75f9514f51f9964a02b3d94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c03b6f21-c717-421a-9eff-2e852f3aa7e1","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"09c71a11b75f9514f51f9964a02b3d94","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c6f6dcb2-377c-4b20-a13e-206f2912526d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"09c71a11b75f9514f51f9964a02b3d94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c6f6dcb2-377c-4b20-a13e-206f2912526d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"09c71a11b75f9514f51f9964a02b3d94","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.565696,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2381ff3e-88de-42c8-9094-2f4a589eea31","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"09c71a11b75f9514f51f9964a02b3d94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/2381ff3e-88de-42c8-9094-2f4a589eea31","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"09c71a11b75f9514f51f9964a02b3d94","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.508518,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54250","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"09c71a11b75f9514f51f9964a02b3d94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"09c71a11b75f9514f51f9964a02b3d94","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54250","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205619,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/98ea0580-b0eb-48ed-b75a-12ac06e4d8ee","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"09c71a11b75f9514f51f9964a02b3d94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/98ea0580-b0eb-48ed-b75a-12ac06e4d8ee","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"09c71a11b75f9514f51f9964a02b3d94","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"09c71a11b75f9514f51f9964a02b3d94"} gateway-1 | {"time_local":"28/Apr/2025:14:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3b66166b-fd77-4c4b-a435-356e7d66196d? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09c71a11b75f9514f51f9964a02b3d94"} device-1 | {"level":"info","message":"GET /devices/3b66166b-fd77-4c4b-a435-356e7d66196d? 200 52ms","method":"GET","requestID":"09c71a11b75f9514f51f9964a02b3d94","responseTime":52,"status":200,"url":"/devices/3b66166b-fd77-4c4b-a435-356e7d66196d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA","level":"info","message":"auth send jwt","requestID":"fa279cd9df59f5a7d93115a43a521332"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa279cd9df59f5a7d93115a43a521332","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fa279cd9df59f5a7d93115a43a521332"} authorization-1 | {"client_addr":"127.0.0.1:54250","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54250","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705533,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fa279cd9df59f5a7d93115a43a521332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"fa279cd9df59f5a7d93115a43a521332","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0d689df7-9f2f-452d-a54a-e4a6d751fd71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:09.980513505Z"}]},"request_id":"2f253d41-6fa5-4d41-bc4f-041d73c1c72b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.3562226} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fa279cd9df59f5a7d93115a43a521332","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:54250","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54250","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592353,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.533068,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.513512,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.612904,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78093f1d-dbb8-49ed-ac60-cf109d43c4e3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fa279cd9df59f5a7d93115a43a521332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78093f1d-dbb8-49ed-ac60-cf109d43c4e3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"fa279cd9df59f5a7d93115a43a521332","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc756c24-88ff-4baf-88b9-0161991faf53","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fa279cd9df59f5a7d93115a43a521332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/cc756c24-88ff-4baf-88b9-0161991faf53","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"fa279cd9df59f5a7d93115a43a521332","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f82f1796-e36a-4223-9cc9-bf2a6c27396e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fa279cd9df59f5a7d93115a43a521332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f82f1796-e36a-4223-9cc9-bf2a6c27396e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"fa279cd9df59f5a7d93115a43a521332","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2381ff3e-88de-42c8-9094-2f4a589eea31","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fa279cd9df59f5a7d93115a43a521332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/2381ff3e-88de-42c8-9094-2f4a589eea31","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"fa279cd9df59f5a7d93115a43a521332","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fa279cd9df59f5a7d93115a43a521332"} gateway-1 | {"time_local":"28/Apr/2025:14:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa279cd9df59f5a7d93115a43a521332"} device-1 | {"level":"info","message":"GET /devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71? 200 48ms","method":"GET","requestID":"fa279cd9df59f5a7d93115a43a521332","responseTime":48,"status":200,"url":"/devices/0d689df7-9f2f-452d-a54a-e4a6d751fd71?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA","level":"info","message":"auth send jwt","requestID":"1e2e687415242203423e50a79ba69a88"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"1e2e687415242203423e50a79ba69a88","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1e2e687415242203423e50a79ba69a88"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.73019,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"1e2e687415242203423e50a79ba69a88","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1e2e687415242203423e50a79ba69a88","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"37631411-dcce-4b24-ad2c-cab867631db3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.4517062} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1e2e687415242203423e50a79ba69a88","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5aea0415-1c41-446b-aea3-243adfed80f6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.4562814} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1e2e687415242203423e50a79ba69a88","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"42647851-1291-4c1b-8a51-e9e64a5ee3b4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.467827} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c03ddcda-1cb5-49ac-a768-4d9830aba601","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.467905} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"1e2e687415242203423e50a79ba69a88","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.467812497Z"}]},"request_id":"b73fc4df-2389-4b66-8403-148639419e4f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.4720812} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"1e2e687415242203423e50a79ba69a88","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1e2e687415242203423e50a79ba69a88"} gateway-1 | {"time_local":"28/Apr/2025:14:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e2e687415242203423e50a79ba69a88"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"1e2e687415242203423e50a79ba69a88","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA","level":"info","message":"auth send jwt","requestID":"b3dd22520da2a842dea6a3b73922bc1e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b3dd22520da2a842dea6a3b73922bc1e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b3dd22520da2a842dea6a3b73922bc1e"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.6877,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b3dd22520da2a842dea6a3b73922bc1e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b3dd22520da2a842dea6a3b73922bc1e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb618a27b-0473-4522-a467-2ba4f78a6e6d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f804de64-49b3-4195-99a0-4240e51319e2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.517003} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b3dd22520da2a842dea6a3b73922bc1e","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de944e63-0dd3-45c1-a61f-8a268b67e4f4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.5450397} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"b3dd22520da2a842dea6a3b73922bc1e","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb618a27b-0473-4522-a467-2ba4f78a6e6d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"9afceaa7-7d87-421a-b060-8091c94a3094","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.5591068} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d59d6a23-39cf-4202-a788-d734811e0e7a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.5592558} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"b3dd22520da2a842dea6a3b73922bc1e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb618a27b-0473-4522-a467-2ba4f78a6e6d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb618a27b-0473-4522-a467-2ba4f78a6e6d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.559083897Z"}]},"request_id":"0f788b7b-27f7-4932-a2a7-0cfa75641218","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.5627668} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b3dd22520da2a842dea6a3b73922bc1e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b3dd22520da2a842dea6a3b73922bc1e"} gateway-1 | {"time_local":"28/Apr/2025:14:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3dd22520da2a842dea6a3b73922bc1e"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"b3dd22520da2a842dea6a3b73922bc1e","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA","level":"info","message":"auth send jwt","requestID":"da4947fd669818b6433b599d685fb9d7"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"da4947fd669818b6433b599d685fb9d7","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"da4947fd669818b6433b599d685fb9d7"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.630113,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"da4947fd669818b6433b599d685fb9d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849770,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3MH0.A2HixC4xiMYtXZJZMPlqKit2pYiyUa6JuJ02nm5LZXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"da4947fd669818b6433b599d685fb9d7","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"19388f89-bce9-4dc6-8f62-34818a18f296","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.6083434} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"da4947fd669818b6433b599d685fb9d7","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73f2f735-de0f-458a-a8d0-6e048eb19a01","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.612066} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"da4947fd669818b6433b599d685fb9d7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"76998aa8-c80a-46f8-aac9-d894a3752d46","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.6458051} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"076b3f29-e473-4be9-9f4e-086655a56f29","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.6460867} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"da4947fd669818b6433b599d685fb9d7","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.645785140Z"}]},"request_id":"c4eef88f-b5c8-41a0-83f3-be764446a479","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849770.6494274} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"da4947fd669818b6433b599d685fb9d7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"da4947fd669818b6433b599d685fb9d7"} gateway-1 | {"time_local":"28/Apr/2025:14:16:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da4947fd669818b6433b599d685fb9d7"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"da4947fd669818b6433b599d685fb9d7","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bbd714f6bcc88607e797b3799388c7ba","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"bbd714f6bcc88607e797b3799388c7ba","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/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":"bbd714f6bcc88607e797b3799388c7ba"} device-1 | {"level":"info","message":"OPTIONS /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/websocket 200 2ms","method":"OPTIONS","requestID":"bbd714f6bcc88607e797b3799388c7ba","responseTime":2,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Mn0.zsPxLIlrF-R1DAISp09wbtfqJIjeLfCFx6gTYOcqeoU","level":"info","message":"auth send jwt","requestID":"11ece278b6d699b97a79485074b2e8a9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"11ece278b6d699b97a79485074b2e8a9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"11ece278b6d699b97a79485074b2e8a9"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:12Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230115,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"11ece278b6d699b97a79485074b2e8a9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849772,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Mn0.zsPxLIlrF-R1DAISp09wbtfqJIjeLfCFx6gTYOcqeoU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"11ece278b6d699b97a79485074b2e8a9","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"11ece278b6d699b97a79485074b2e8a9"} device-1 | {"level":"info","message":"POST /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/websocket 200 40ms","method":"POST","requestID":"11ece278b6d699b97a79485074b2e8a9","responseTime":40,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"11ece278b6d699b97a79485074b2e8a9"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b4fc9aae4eb1c5a0df05c1e9f2e94834","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b4fc9aae4eb1c5a0df05c1e9f2e94834","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c51729dc-c0a9-4167-80db-255cbc033e23/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":"b4fc9aae4eb1c5a0df05c1e9f2e94834"} device-1 | {"level":"info","message":"OPTIONS /devices/c51729dc-c0a9-4167-80db-255cbc033e23/websocket 200 1ms","method":"OPTIONS","requestID":"b4fc9aae4eb1c5a0df05c1e9f2e94834","responseTime":1,"status":200,"url":"/devices/c51729dc-c0a9-4167-80db-255cbc033e23/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Mn0.zsPxLIlrF-R1DAISp09wbtfqJIjeLfCFx6gTYOcqeoU","level":"info","message":"auth send jwt","requestID":"9e1fcca8074eb21ef144c4eaa6497252"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9e1fcca8074eb21ef144c4eaa6497252","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9e1fcca8074eb21ef144c4eaa6497252"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:12Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687849,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9e1fcca8074eb21ef144c4eaa6497252","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849772,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Mn0.zsPxLIlrF-R1DAISp09wbtfqJIjeLfCFx6gTYOcqeoU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9e1fcca8074eb21ef144c4eaa6497252","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9e1fcca8074eb21ef144c4eaa6497252"} gateway-1 | {"time_local":"28/Apr/2025:14:16:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c51729dc-c0a9-4167-80db-255cbc033e23/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":"9e1fcca8074eb21ef144c4eaa6497252"} device-1 | {"level":"info","message":"POST /devices/c51729dc-c0a9-4167-80db-255cbc033e23/websocket 200 14ms","method":"POST","requestID":"9e1fcca8074eb21ef144c4eaa6497252","responseTime":14,"status":200,"url":"/devices/c51729dc-c0a9-4167-80db-255cbc033e23/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk","level":"info","message":"auth send jwt","requestID":"9d8057dbe6685c66c2ce73ae80d1d1f6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9d8057dbe6685c66c2ce73ae80d1d1f6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d8057dbe6685c66c2ce73ae80d1d1f6"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616888,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9d8057dbe6685c66c2ce73ae80d1d1f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9d8057dbe6685c66c2ce73ae80d1d1f6","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.645785140Z"}]},"request_id":"1c2a61b9-9adf-4693-ae90-161b2cb0c182","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.0274243} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9d8057dbe6685c66c2ce73ae80d1d1f6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d8057dbe6685c66c2ce73ae80d1d1f6"} device-1 | {"level":"info","message":"GET /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54? 200 10ms","method":"GET","requestID":"9d8057dbe6685c66c2ce73ae80d1d1f6","responseTime":10,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54? 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":"9d8057dbe6685c66c2ce73ae80d1d1f6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk","level":"info","message":"auth send jwt","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.827236,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9fa99ad5a2ff35bc704f40fcb19d4171","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Attempting to run experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Attempting to book experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Successfully booked experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57121a80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57124190-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595389,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b618a27b-0473-4522-a467-2ba4f78a6e6d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"57121a80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b618a27b-0473-4522-a467-2ba4f78a6e6d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"57121a80-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703496,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"57124190-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"57124190-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb618a27b-0473-4522-a467-2ba4f78a6e6d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb618a27b-0473-4522-a467-2ba4f78a6e6d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.559083897Z"}]},"request_id":"af73d9f7-20c0-4fae-b790-df5ce4de487c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.103838} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"57121a80-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.645785140Z"}]},"request_id":"85e0315f-6e1b-419d-b58d-4d2c01c96ee4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.1046224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"57124190-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57124190-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54? 200 12ms","method":"GET","requestID":"57124190-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54?"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926242,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"57121a80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"57121a80-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57121a80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/b618a27b-0473-4522-a467-2ba4f78a6e6d? 200 19ms","method":"GET","requestID":"57121a80-243b-11f0-b067-2fe344ae06f8","responseTime":19,"status":200,"url":"/devices/b618a27b-0473-4522-a467-2ba4f78a6e6d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Setting up experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Successfully set up experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Successfully running experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57250640-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57252d50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"57255460-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45568","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945598,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805473,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"57250640-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"57250640-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"57252d50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"57252d50-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aac04054-d53f-4ad8-b72f-815db74a2fe8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.2390237} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.829155,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"57255460-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","object_type":"device","rebac_allow":false,"scope_allow":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":"57255460-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.467812497Z"}]},"request_id":"938d7622-31da-4c50-953e-e70bcb904e61","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.241589} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"57255460-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"57250640-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.645785140Z"}]},"request_id":"4ad8c1f6-b272-4c82-b288-752780b220b2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.2437618} device-1 | {"level":"info","message":"POST /devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling 200 22ms","method":"POST","requestID":"57255460-243b-11f0-b067-2fe344ae06f8","responseTime":22,"status":200,"url":"/devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"57252d50-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe676767b-b85c-4ed0-86ad-88ff18ac2693#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe676767b-b85c-4ed0-86ad-88ff18ac2693","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"903b29de-a3b6-4623-98f4-a436ad81207b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.249077} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"690a5ab2-adf1-4cca-af6b-bb62e6c0d07a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.249419} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"57299a20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57252d50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54? 200 34ms","method":"GET","requestID":"57252d50-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f659b44-62b7-4066-bd23-02c3e5a8f1d4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.254928} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57250640-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.633766,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} device-1 | {"level":"info","message":"GET /devices/c51729dc-c0a9-4167-80db-255cbc033e23? 200 36ms","method":"GET","requestID":"57250640-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/c51729dc-c0a9-4167-80db-255cbc033e23?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"57299a20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","rebac_allow":false,"scope_allow":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":"57299a20-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"57299a20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling 200 9ms","method":"POST","requestID":"57299a20-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"572b47d0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 228ms","method":"POST","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171","responseTime":228,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.231","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2548829-e5dd-4a12-85b2-5f57d40da2f9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.2663856} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.644652,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"572b47d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","object_type":"device","rebac_allow":false,"scope_allow":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":"572b47d0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"572b47d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling 200 12ms","method":"POST","requestID":"572b47d0-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"572db8d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk","level":"info","message":"auth send jwt","requestID":"286b7db73cf70552c51c393e4d265c11"} authentication-1 | {"level":"info","message":"GET /auth 200 15ms","method":"GET","requestID":"286b7db73cf70552c51c393e4d265c11","responseTime":15,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"157a00cb-4701-4b9e-9602-d5113c6744f4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.2822642} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.106018,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"286b7db73cf70552c51c393e4d265c11"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"572db8d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","rebac_allow":false,"scope_allow":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":"572db8d0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"572db8d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} device-1 | {"level":"info","message":"POST /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling 200 14ms","method":"POST","requestID":"572db8d0-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.876727,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"286b7db73cf70552c51c393e4d265c11","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Building connection plan","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"4a70da51-50d1-472a-a340-43d9b0de4817"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"59ac870e-a2a0-4773-b8a7-50db55ffc197"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"63340048-e2c5-401d-b7a8-7ff279120f3f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"286b7db73cf70552c51c393e4d265c11","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"573050e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.467812497Z"}]},"request_id":"59a7bb0e-18c4-48a7-9fa4-94baa3ea1f20","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.2957957} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"286b7db73cf70552c51c393e4d265c11","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.671042,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"573050e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"573050e0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"286b7db73cf70552c51c393e4d265c11"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c51729dc-c0a9-4167-80db-255cbc033e23? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"286b7db73cf70552c51c393e4d265c11"} device-1 | {"level":"info","message":"GET /devices/c51729dc-c0a9-4167-80db-255cbc033e23? 200 17ms","method":"GET","requestID":"286b7db73cf70552c51c393e4d265c11","responseTime":17,"status":200,"url":"/devices/c51729dc-c0a9-4167-80db-255cbc033e23?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk","level":"info","message":"auth send jwt","requestID":"58a6ece6cb743e6cfc636fe45e1a0bbb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"58a6ece6cb743e6cfc636fe45e1a0bbb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"58a6ece6cb743e6cfc636fe45e1a0bbb"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"bd59ed00-0702-42a9-9c20-bcb2a3e3b1f9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.3075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4bf1a76-d6d6-4383-aeb9-1fc47161a947","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.3077424} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"573050e0-243b-11f0-b067-2fe344ae06f8","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":11.775627,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"58a6ece6cb743e6cfc636fe45e1a0bbb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"58a6ece6cb743e6cfc636fe45e1a0bbb","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:10.645785140Z"}]},"request_id":"2d5ce088-0b44-4dbd-bded-c9a120b4aa10","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.3381248} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"58a6ece6cb743e6cfc636fe45e1a0bbb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"573050e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"573050e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8'","requestID":"573050e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8'","requestID":"573050e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"573050e0-243b-11f0-b067-2fe344ae06f8"} 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":"573050e0-243b-11f0-b067-2fe344ae06f8","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":"58a6ece6cb743e6cfc636fe45e1a0bbb"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58a6ece6cb743e6cfc636fe45e1a0bbb"} device-1 | {"level":"info","message":"GET /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54? 200 72ms","method":"GET","requestID":"58a6ece6cb743e6cfc636fe45e1a0bbb","responseTime":72,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"573050e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8","device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8","device":"c51729dc-c0a9-4167-80db-255cbc033e23","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9fa99ad5a2ff35bc704f40fcb19d4171"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5740cba0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be480ac9-f66a-449c-a795-7e38668099c5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.4309318} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.202843,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5740cba0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","object_type":"device","rebac_allow":false,"scope_allow":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":"5740cba0-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5740cba0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling 200 33ms","method":"POST","requestID":"5740cba0-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"574622d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ea4c531-848d-42b6-a9e3-665ae16936c8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.4413004} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.323571,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"574622d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","rebac_allow":false,"scope_allow":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":"574622d0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"574622d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling 200 9ms","method":"POST","requestID":"574622d0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling"} device-1 | {"device":"c51729dc-c0a9-4167-80db-255cbc033e23","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c51729dc-c0a9-4167-80db-255cbc033e23","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 5484339978969346157 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:/9iP\r\na=ice-pwd:ThYSXdfljOeF2aGQuhGkZ3UY\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AB:58:06:D4:91:93:5F:00:D8:F6:E9:80:C2:59:25:2E:E0:06:33:40:36:2C:BB:0D:08:A5:87:74:BB:CA:8D:FF\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"c51729dc-c0a9-4167-80db-255cbc033e23","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6922414996015529102 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:qw0+\r\na=ice-pwd:sjSQ2I/KrhgMCCWJhBjy+QOH\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E1:9E:E3:A1:0F:CF:2F:37:9C:01:70:D9:A9:28:D7:AE:EE:18:F4:BF:2A:BB:F2:CC:1B:04:C8:48:B5:A7:1D:7C\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2497674571 1 udp 2113937151 d5d4d266-23ee-469a-8a23-4c89d7ea0987.local 51622 typ host generation 0 ufrag qw0+ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","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/b76d81cb-8bbc-4825-8d91-4631d9017c54'"} device-1 | {"content":{"candidate":"candidate:2539902639 1 udp 2113937151 fe172e7a-e5f2-44d4-902b-ea9783d329ba.local 41794 typ host generation 0 ufrag /9iP network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c51729dc-c0a9-4167-80db-255cbc033e23","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c51729dc-c0a9-4167-80db-255cbc033e23","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/b8d99152-af21-4574-9acd-fe8ea75af8f8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b8d99152-af21-4574-9acd-fe8ea75af8f8","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c51729dc-c0a9-4167-80db-255cbc033e23","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f1931e5cc974200a63ee941e6db3f4b1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"f1931e5cc974200a63ee941e6db3f4b1","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"c51729dc-c0a9-4167-80db-255cbc033e23","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","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/b76d81cb-8bbc-4825-8d91-4631d9017c54"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8"}}},"level":"info","message":"received a callback","requestID":"f1931e5cc974200a63ee941e6db3f4b1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"f1931e5cc974200a63ee941e6db3f4b1","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +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":"f1931e5cc974200a63ee941e6db3f4b1"} device-1 | {"device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b8d99152-af21-4574-9acd-fe8ea75af8f8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b8d99152-af21-4574-9acd-fe8ea75af8f8","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/b8d99152-af21-4574-9acd-fe8ea75af8f8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b8d99152-af21-4574-9acd-fe8ea75af8f8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"21006b1fe616f5f64a6fab7078b3df4b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"21006b1fe616f5f64a6fab7078b3df4b","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/b76d81cb-8bbc-4825-8d91-4631d9017c54"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8"}}},"level":"info","message":"received a callback","requestID":"21006b1fe616f5f64a6fab7078b3df4b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"57625d60-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb8d99152-af21-4574-9acd-fe8ea75af8f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"175ffc32-eacc-4591-a258-dc66eaed5c8a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.6264918} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.546268,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"57625d60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8","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":"57625d60-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk","level":"info","message":"auth send jwt","requestID":"56e63bbd53754c98849a5d71b62d756c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"56e63bbd53754c98849a5d71b62d756c","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","requestID":"56e63bbd53754c98849a5d71b62d756c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"57625d60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8 200 9ms","method":"GET","requestID":"57625d60-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.42137,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"56e63bbd53754c98849a5d71b62d756c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"56e63bbd53754c98849a5d71b62d756c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","requestID":"56e63bbd53754c98849a5d71b62d756c"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56e63bbd53754c98849a5d71b62d756c"} experiment-1 | {"level":"info","message":"GET /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693 200 35ms","method":"GET","requestID":"56e63bbd53754c98849a5d71b62d756c","responseTime":35,"status":200,"url":"/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 55ms","method":"POST","requestID":"21006b1fe616f5f64a6fab7078b3df4b","responseTime":55,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +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.078","http_referrer":"","http_user_agent":"node-fetch","requestID":"21006b1fe616f5f64a6fab7078b3df4b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5769fe80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df0cdeba-3a52-42e5-8bae-ac56111312cd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.6768732} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.243473,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5769fe80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","rebac_allow":false,"scope_allow":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":"5769fe80-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5769fe80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling 200 9ms","method":"POST","requestID":"5769fe80-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"576b8520-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dbb6b541-6016-4dce-b0a5-030dfd3daa7d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.6872852} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.510675,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"576b8520-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","object_type":"device","rebac_allow":false,"scope_allow":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":"576b8520-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"576b8520-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling 200 33ms","method":"POST","requestID":"576b8520-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk","level":"info","message":"auth send jwt","requestID":"228f743053cd215a28a07790a0ac36c7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"228f743053cd215a28a07790a0ac36c7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","requestID":"228f743053cd215a28a07790a0ac36c7"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691734,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"228f743053cd215a28a07790a0ac36c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"228f743053cd215a28a07790a0ac36c7","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","requestID":"228f743053cd215a28a07790a0ac36c7"} experiment-1 | {"level":"info","message":"GET /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693 200 8ms","method":"GET","requestID":"228f743053cd215a28a07790a0ac36c7","responseTime":8,"status":200,"url":"/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"228f743053cd215a28a07790a0ac36c7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk","level":"info","message":"auth send jwt","requestID":"0c47be4c00cc1019002e401952eb6b78"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c47be4c00cc1019002e401952eb6b78","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","requestID":"0c47be4c00cc1019002e401952eb6b78"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.671233,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0c47be4c00cc1019002e401952eb6b78","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0c47be4c00cc1019002e401952eb6b78","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Attempting to finish experiment","requestID":"0c47be4c00cc1019002e401952eb6b78"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"577c4e00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.64091,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"577c4e00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"577c4e00-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8","device":"b76d81cb-8bbc-4825-8d91-4631d9017c54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8","device":"c51729dc-c0a9-4167-80db-255cbc033e23","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/b8d99152-af21-4574-9acd-fe8ea75af8f8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b8d99152-af21-4574-9acd-fe8ea75af8f8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"744f11b49ef7c2c7a697c0b794a50ff7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"744f11b49ef7c2c7a697c0b794a50ff7","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b628c70178f7c110d18b8cc78921d7a2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb8d99152-af21-4574-9acd-fe8ea75af8f8': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb8d99152-af21-4574-9acd-fe8ea75af8f8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"aef8e62d-dc7c-4fec-815d-ca544683f13d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.8087296} 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/b76d81cb-8bbc-4825-8d91-4631d9017c54"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8"}}},"level":"info","message":"received a callback","requestID":"744f11b49ef7c2c7a697c0b794a50ff7"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b628c70178f7c110d18b8cc78921d7a2","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27d5387d-2f13-41d6-8413-e0b750a10c3a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.808959} 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/b76d81cb-8bbc-4825-8d91-4631d9017c54"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8"}}},"level":"info","message":"received a callback","requestID":"b628c70178f7c110d18b8cc78921d7a2"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"577c4e00-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"b8d99152-af21-4574-9acd-fe8ea75af8f8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"577c4e00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8 204 42ms","method":"DELETE","requestID":"577c4e00-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":204,"url":"/peerconnections/b8d99152-af21-4574-9acd-fe8ea75af8f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"},"level":"info","message":"Successfully finished experiment","requestID":"0c47be4c00cc1019002e401952eb6b78"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"57854eb0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb76d81cb-8bbc-4825-8d91-4631d9017c54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"806d3141-13cd-4597-8ee8-5a7fb51785c3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.855272} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.22686,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"57854eb0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54","object_type":"device","rebac_allow":false,"scope_allow":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":"57854eb0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"57854eb0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling 200 9ms","method":"POST","requestID":"57854eb0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe676767b-b85c-4ed0-86ad-88ff18ac2693': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe676767b-b85c-4ed0-86ad-88ff18ac2693","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"23c58e3a-9a22-49f4-8db3-3e87eb48c17f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.8623874} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5786fc60-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5411f2ac-44a2-46e1-869e-0ae0f45d6ea2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.8625226} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"0c47be4c00cc1019002e401952eb6b78","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc51729dc-c0a9-4167-80db-255cbc033e23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75d3d557-b85a-436a-bd3e-e137b0fbee2a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849773.8676124} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.387291,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5786fc60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23","object_type":"device","rebac_allow":false,"scope_allow":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":"5786fc60-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5786fc60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling 200 10ms","method":"POST","requestID":"5786fc60-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/c51729dc-c0a9-4167-80db-255cbc033e23/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693","requestID":"0c47be4c00cc1019002e401952eb6b78"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c47be4c00cc1019002e401952eb6b78"} experiment-1 | {"level":"info","message":"DELETE /experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693 204 180ms","method":"DELETE","requestID":"0c47be4c00cc1019002e401952eb6b78","responseTime":180,"status":204,"url":"/experiments/e676767b-b85c-4ed0-86ad-88ff18ac2693"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"744f11b49ef7c2c7a697c0b794a50ff7","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"744f11b49ef7c2c7a697c0b794a50ff7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"b628c70178f7c110d18b8cc78921d7a2","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"b628c70178f7c110d18b8cc78921d7a2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk","level":"info","message":"auth send jwt","requestID":"538f1d52b0e944f9fcc8bd8dc2654292"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"538f1d52b0e944f9fcc8bd8dc2654292","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"538f1d52b0e944f9fcc8bd8dc2654292"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +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.017","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":"a91a63cd7419f6e9f3d8b0b9ecfa3fa2"} gateway-1 | {"time_local":"28/Apr/2025:14:16:13 +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.972","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":"ba7cfff9b03eb893e0cb3900e2616df8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.854061,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"538f1d52b0e944f9fcc8bd8dc2654292","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849773,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3M30.XcpcNO7mqnPoPxu2KycQqYvB9edZv7ErMRwyyzh7tJk"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c51729dc-c0a9-4167-80db-255cbc033e23' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"538f1d52b0e944f9fcc8bd8dc2654292","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b76d81cb-8bbc-4825-8d91-4631d9017c54' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"696036ac-530e-4e38-9929-062fa9f93421","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.0184383} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"538f1d52b0e944f9fcc8bd8dc2654292","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a815f2b6-06cc-4518-8b87-5dbdc6478f67","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.023137} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"538f1d52b0e944f9fcc8bd8dc2654292","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"597267a2-59a3-45e0-95c2-f1a5e96490f7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.0567281} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26e544f8-79d5-4418-8545-07ecc84b752b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.0571747} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"538f1d52b0e944f9fcc8bd8dc2654292","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.056712693Z"}]},"request_id":"3ac7e07d-5da9-424e-8413-5ba5c98a8b32","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.0618987} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"538f1d52b0e944f9fcc8bd8dc2654292","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"538f1d52b0e944f9fcc8bd8dc2654292"} gateway-1 | {"time_local":"28/Apr/2025:14:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"538f1d52b0e944f9fcc8bd8dc2654292"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"538f1d52b0e944f9fcc8bd8dc2654292","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3NH0.nOQKqz7z1vctr3B6wGuxtr7BnefzZmE4Haglrv7xAKU","level":"info","message":"auth send jwt","requestID":"f746f7496356f6e6f2879842c5c6e365"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f746f7496356f6e6f2879842c5c6e365","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f746f7496356f6e6f2879842c5c6e365"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:14Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.776599,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f746f7496356f6e6f2879842c5c6e365","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849774,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3NH0.nOQKqz7z1vctr3B6wGuxtr7BnefzZmE4Haglrv7xAKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f746f7496356f6e6f2879842c5c6e365","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e4eeb43e-1ac0-441f-b056-f791d54f4b9b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.1084754} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f746f7496356f6e6f2879842c5c6e365","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8b19b7c-439b-4a61-b144-dc5ffb29894a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.112599} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f746f7496356f6e6f2879842c5c6e365","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"f7b63167-77cd-48fa-8a2d-447eabc1eae0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.1203804} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54ef83eb-ba53-4353-a84c-42012ff0cd35","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.1205246} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"f746f7496356f6e6f2879842c5c6e365","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.120366416Z"}]},"request_id":"de34a1f3-6e75-4c71-ad51-169448728865","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849774.1478622} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f746f7496356f6e6f2879842c5c6e365","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f746f7496356f6e6f2879842c5c6e365"} gateway-1 | {"time_local":"28/Apr/2025:14:16:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f746f7496356f6e6f2879842c5c6e365"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"f746f7496356f6e6f2879842c5c6e365","responseTime":81,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3NX0.jioOjIJjf1sSw4JeQ4sYFhLy6Wh4_1QeC7NGWZGO5UE","level":"info","message":"auth send jwt","requestID":"61f94cbed3c8a0dd43cc317490581706"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"61f94cbed3c8a0dd43cc317490581706","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"61f94cbed3c8a0dd43cc317490581706"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:15Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760881,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61f94cbed3c8a0dd43cc317490581706","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849775,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3NX0.jioOjIJjf1sSw4JeQ4sYFhLy6Wh4_1QeC7NGWZGO5UE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"61f94cbed3c8a0dd43cc317490581706","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.056712693Z"}]},"request_id":"9440ad8e-5d4e-47a2-81c7-34828e980b4c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849775.0276356} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"61f94cbed3c8a0dd43cc317490581706","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c99b6bb7-9eaa-4a51-8bad-74a7ebe354f1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849775.0322518} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"61f94cbed3c8a0dd43cc317490581706","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.056712693Z"}]},"request_id":"89fc5e01-09c5-4453-bfb9-52cbd10909c9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849775.0703099} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"61f94cbed3c8a0dd43cc317490581706","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"61f94cbed3c8a0dd43cc317490581706"} device-1 | {"level":"info","message":"PATCH /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f 200 54ms","method":"PATCH","requestID":"61f94cbed3c8a0dd43cc317490581706","responseTime":54,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f"} gateway-1 | {"time_local":"28/Apr/2025:14:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.058","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"61f94cbed3c8a0dd43cc317490581706"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3NX0.jioOjIJjf1sSw4JeQ4sYFhLy6Wh4_1QeC7NGWZGO5UE","level":"info","message":"auth send jwt","requestID":"3647ca22210af3d569c823d4d069487a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3647ca22210af3d569c823d4d069487a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3647ca22210af3d569c823d4d069487a"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:15Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658876,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"3647ca22210af3d569c823d4d069487a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849775,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3NX0.jioOjIJjf1sSw4JeQ4sYFhLy6Wh4_1QeC7NGWZGO5UE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"3647ca22210af3d569c823d4d069487a","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3647ca22210af3d569c823d4d069487a"} gateway-1 | {"time_local":"28/Apr/2025:14:16:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/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.18","requestID":"3647ca22210af3d569c823d4d069487a"} device-1 | {"level":"info","message":"POST /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/websocket 200 40ms","method":"POST","requestID":"3647ca22210af3d569c823d4d069487a","responseTime":40,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1ae01529d3c0ba01a213711f188c4fe2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"1ae01529d3c0ba01a213711f188c4fe2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/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":"1ae01529d3c0ba01a213711f188c4fe2"} device-1 | {"level":"info","message":"OPTIONS /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/websocket 200 1ms","method":"OPTIONS","requestID":"1ae01529d3c0ba01a213711f188c4fe2","responseTime":1,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI","level":"info","message":"auth send jwt","requestID":"6bf66eff6411e318dc3809261ca7a5c4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6bf66eff6411e318dc3809261ca7a5c4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6bf66eff6411e318dc3809261ca7a5c4"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.411351,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6bf66eff6411e318dc3809261ca7a5c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6bf66eff6411e318dc3809261ca7a5c4","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6bf66eff6411e318dc3809261ca7a5c4"} device-1 | {"level":"info","message":"POST /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/websocket 200 35ms","method":"POST","requestID":"6bf66eff6411e318dc3809261ca7a5c4","responseTime":35,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","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":"6bf66eff6411e318dc3809261ca7a5c4"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI","level":"info","message":"auth send jwt","requestID":"0b5fc0cdbc961c9c9acf7c0b39666228"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0b5fc0cdbc961c9c9acf7c0b39666228","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b5fc0cdbc961c9c9acf7c0b39666228"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.824341,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0b5fc0cdbc961c9c9acf7c0b39666228","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0b5fc0cdbc961c9c9acf7c0b39666228","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.056712693Z"}]},"request_id":"c6e1a5d9-fbcf-4061-a2ae-d2b0d6bbf439","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.643215} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b5fc0cdbc961c9c9acf7c0b39666228","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b5fc0cdbc961c9c9acf7c0b39666228"} gateway-1 | {"time_local":"28/Apr/2025:14:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f? 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":"0b5fc0cdbc961c9c9acf7c0b39666228"} device-1 | {"level":"info","message":"GET /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f? 200 35ms","method":"GET","requestID":"0b5fc0cdbc961c9c9acf7c0b39666228","responseTime":35,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI","level":"info","message":"auth send jwt","requestID":"d75e5c8f8b41e8b6476725ee9c0bb227"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d75e5c8f8b41e8b6476725ee9c0bb227","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d75e5c8f8b41e8b6476725ee9c0bb227"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739654,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"d75e5c8f8b41e8b6476725ee9c0bb227","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d75e5c8f8b41e8b6476725ee9c0bb227","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.120366416Z"}]},"request_id":"825ea213-fbb3-462f-b00a-3d40ff1546ed","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.6599517} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d75e5c8f8b41e8b6476725ee9c0bb227","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d75e5c8f8b41e8b6476725ee9c0bb227"} gateway-1 | {"time_local":"28/Apr/2025:14:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26? 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":"d75e5c8f8b41e8b6476725ee9c0bb227"} device-1 | {"level":"info","message":"GET /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26? 200 12ms","method":"GET","requestID":"d75e5c8f8b41e8b6476725ee9c0bb227","responseTime":12,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI","level":"info","message":"auth send jwt","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e0e2408a9d853b6cf6ead3629123a1a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.739597,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7e0e2408a9d853b6cf6ead3629123a1a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7e0e2408a9d853b6cf6ead3629123a1a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Attempting to run experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Attempting to book experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Successfully booked experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"59406c30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"59409340-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676445,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"59406c30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"59406c30-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65878,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"59409340-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"59409340-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.056712693Z"}]},"request_id":"75ea89b4-0672-4c79-a32a-f3791d403067","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.786656} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"59406c30-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.120366416Z"}]},"request_id":"0516afe4-1405-4eea-96e3-470f6230a7bc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.7876465} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"59409340-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"59406c30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f? 200 36ms","method":"GET","requestID":"59406c30-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"59409340-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26? 200 36ms","method":"GET","requestID":"59409340-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Setting up experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Successfully set up experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5953cd20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5953f430-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59541b40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940897,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Successfully running experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5953cd20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5953cd20-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685799,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5953f430-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5953f430-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31d1ad5d-dcef-44ef-ad43-4cae43e900d1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.8907466} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.120366416Z"}]},"request_id":"bc252fb4-94e5-435c-a66e-fe2071ba1ae6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.8930275} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.650439,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"59541b40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","rebac_allow":false,"scope_allow":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":"59541b40-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5953f430-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.056712693Z"}]},"request_id":"231cdc55-2401-4830-9ac9-60a15f576f0c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.893686} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5953cd20-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aa1be1c-2117-44a5-b38d-7fb3a3a1c208#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"d29d8719-b7e3-486b-add5-87a27acd9230","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.8985543} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59541b40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bab17db5-614d-49df-8ff7-1302d2ba1955","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.898864} device-1 | {"level":"info","message":"POST /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling 200 16ms","method":"POST","requestID":"59541b40-243b-11f0-b067-2fe344ae06f8","responseTime":16,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5953f430-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"7e0e2408a9d853b6cf6ead3629123a1a","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26? 200 18ms","method":"GET","requestID":"5953f430-243b-11f0-b067-2fe344ae06f8","responseTime":18,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5953cd20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f? 200 20ms","method":"GET","requestID":"5953cd20-243b-11f0-b067-2fe344ae06f8","responseTime":20,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59570170-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"595b2020-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ab1aa51-5887-4ee7-83e1-7d17a5473db3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.9315798} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420392,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} gateway-1 | {"time_local":"28/Apr/2025:14:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.244","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"59570170-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"POST /experiments? 201 241ms","method":"POST","requestID":"7e0e2408a9d853b6cf6ead3629123a1a","responseTime":241,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"59570170-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5e39fea-2c1c-4e52-9717-3c13e3a9ead9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.936317} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.974753,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59570170-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling 200 34ms","method":"POST","requestID":"59570170-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"595b2020-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","rebac_allow":false,"scope_allow":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":"595b2020-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI","level":"info","message":"auth send jwt","requestID":"f82f3b2be7001e4cf84ab01c8863e7ca"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f82f3b2be7001e4cf84ab01c8863e7ca","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f82f3b2be7001e4cf84ab01c8863e7ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"595b2020-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling 200 12ms","method":"POST","requestID":"595b2020-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655336,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f82f3b2be7001e4cf84ab01c8863e7ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f82f3b2be7001e4cf84ab01c8863e7ca","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"595d4300-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1a12ba3-a49c-4e35-b4a8-d89e3f8dd4ae","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.9486134} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.056712693Z"}]},"request_id":"4a493e3e-b9ee-437f-ae1e-257309016366","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.9486852} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f82f3b2be7001e4cf84ab01c8863e7ca","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.280717,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"595d4300-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","rebac_allow":false,"scope_allow":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":"595d4300-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f82f3b2be7001e4cf84ab01c8863e7ca"} gateway-1 | {"time_local":"28/Apr/2025:14:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f? 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":"f82f3b2be7001e4cf84ab01c8863e7ca"} device-1 | {"level":"info","message":"GET /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f? 200 37ms","method":"GET","requestID":"f82f3b2be7001e4cf84ab01c8863e7ca","responseTime":37,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"595d4300-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling 200 34ms","method":"POST","requestID":"595d4300-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Building connection plan","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"7feabf09-0d01-4aab-bc71-917918226c2d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9f33dcf9-635d-477c-86cd-4cdbb7af95c4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3051c70d-bf83-45a9-9f72-f9a8d92f5f55"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI","level":"info","message":"auth send jwt","requestID":"f83c1c94cbf7e624ca751136b2b57673"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5962c140-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f83c1c94cbf7e624ca751136b2b57673","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f83c1c94cbf7e624ca751136b2b57673"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:45574","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.622487,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5962c140-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5962c140-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.522948,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f83c1c94cbf7e624ca751136b2b57673","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849776,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3Nn0.2mTTYZ_RNa9juR6KcpsTXXWdlMhMiyvmQoplL9GQ-mI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f83c1c94cbf7e624ca751136b2b57673","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:14.120366416Z"}]},"request_id":"c931c257-1a82-4993-86c1-542571ac659f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.9884782} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f83c1c94cbf7e624ca751136b2b57673","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f83c1c94cbf7e624ca751136b2b57673"} gateway-1 | {"time_local":"28/Apr/2025:14:16:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26? 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":"f83c1c94cbf7e624ca751136b2b57673"} device-1 | {"level":"info","message":"GET /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26? 200 9ms","method":"GET","requestID":"f83c1c94cbf7e624ca751136b2b57673","responseTime":9,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"17db65be-27fd-48a7-a5ea-5cde0cc5e0c6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.9919288} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6be77eb-0cf0-4e61-8ca0-2ff0f0c1a761","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849776.9921095} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5962c140-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5962c140-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5962c140-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8'","requestID":"5962c140-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8'","requestID":"5962c140-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5962c140-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 57ms","method":"POST","requestID":"5962c140-243b-11f0-b067-2fe344ae06f8","responseTime":57,"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":"5962c140-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8","device":"c8621d00-e7a8-4bd3-80a5-6a9def575a26","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/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7e0e2408a9d853b6cf6ead3629123a1a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"597278b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:17Z"} device-1 | {"device":"c8621d00-e7a8-4bd3-80a5-6a9def575a26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c8621d00-e7a8-4bd3-80a5-6a9def575a26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69ce5280-512e-4f1e-8a72-6c740a47da2e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849777.0883908} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.893961,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"597278b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","rebac_allow":false,"scope_allow":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":"597278b0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 8658858502239099554 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:jVZz\r\na=ice-pwd:ztK20MPCR0sLyLSpXXt6nVFs\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D6:0E:E3:BB:BB:22:99:04:10:99:AF:E8:21:CF:46:54:12:30:C3:AE:DD:35:70:E4:1E:C2:BF:5C:CA:E8:62:FA\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"c8621d00-e7a8-4bd3-80a5-6a9def575a26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"597278b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling 200 12ms","method":"POST","requestID":"597278b0-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"59747480-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:17Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5340a06-fa16-4c6a-bb04-aa577d34fd50","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849777.1003149} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.114529,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"59747480-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","rebac_allow":false,"scope_allow":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":"59747480-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"59747480-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling 200 8ms","method":"POST","requestID":"59747480-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling"} device-1 | {"device":"c8621d00-e7a8-4bd3-80a5-6a9def575a26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"f383e113-5d73-450f-9c91-78cb5381a3d8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/f383e113-5d73-450f-9c91-78cb5381a3d8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f383e113-5d73-450f-9c91-78cb5381a3d8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"10b46d362c00e4f64283e99835a2797a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"10b46d362c00e4f64283e99835a2797a","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/9883189a-9222-4c7a-9f9a-395ebce1d51f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8"}}},"level":"info","message":"received a callback","requestID":"10b46d362c00e4f64283e99835a2797a"} device-1 | {"content":{"candidate":"candidate:2050074355 1 udp 2113937151 c6c749dd-41a5-4ad8-9e3a-b01fed91090b.local 33528 typ host generation 0 ufrag jVZz network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c8621d00-e7a8-4bd3-80a5-6a9def575a26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c8621d00-e7a8-4bd3-80a5-6a9def575a26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"10b46d362c00e4f64283e99835a2797a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"10b46d362c00e4f64283e99835a2797a","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"f383e113-5d73-450f-9c91-78cb5381a3d8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c8621d00-e7a8-4bd3-80a5-6a9def575a26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"f383e113-5d73-450f-9c91-78cb5381a3d8","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/f383e113-5d73-450f-9c91-78cb5381a3d8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f383e113-5d73-450f-9c91-78cb5381a3d8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"475a6950c82ae3669501379a63c7ad98","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"475a6950c82ae3669501379a63c7ad98","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/9883189a-9222-4c7a-9f9a-395ebce1d51f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8"}}},"level":"info","message":"received a callback","requestID":"475a6950c82ae3669501379a63c7ad98"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5aa887b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff383e113-5d73-450f-9c91-78cb5381a3d8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5250ab29-a476-4dc4-86f8-24a719294ab9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.1191196} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.242547,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5aa887b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8","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":"5aa887b0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5aa887b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8 200 7ms","method":"GET","requestID":"5aa887b0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"475a6950c82ae3669501379a63c7ad98","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"475a6950c82ae3669501379a63c7ad98"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5aabbc00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"518b988e-1764-4a31-b85c-ffbba6c7bec1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.140438} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.704437,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5aabbc00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","rebac_allow":false,"scope_allow":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":"5aabbc00-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5aabbc00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling 200 8ms","method":"POST","requestID":"5aabbc00-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5aad1b90-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41fad72a-ca5c-48b5-b43a-36af690f3ce1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.1496794} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.330626,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5aad1b90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","rebac_allow":false,"scope_allow":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":"5aad1b90-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5aad1b90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling 200 8ms","method":"POST","requestID":"5aad1b90-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3OX0.GkNqdIoPQsej6dMzU84uw5Mv9-tBX5dZEZTun5Q-6V8","level":"info","message":"auth send jwt","requestID":"62390022160f93b24498bc5c76534aba"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"62390022160f93b24498bc5c76534aba","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","requestID":"62390022160f93b24498bc5c76534aba"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.496114,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"62390022160f93b24498bc5c76534aba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849779,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3OX0.GkNqdIoPQsej6dMzU84uw5Mv9-tBX5dZEZTun5Q-6V8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"62390022160f93b24498bc5c76534aba","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","requestID":"62390022160f93b24498bc5c76534aba"} experiment-1 | {"level":"info","message":"GET /experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208 200 10ms","method":"GET","requestID":"62390022160f93b24498bc5c76534aba","responseTime":10,"status":200,"url":"/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62390022160f93b24498bc5c76534aba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3OX0.GkNqdIoPQsej6dMzU84uw5Mv9-tBX5dZEZTun5Q-6V8","level":"info","message":"auth send jwt","requestID":"5ef1b7339e35a54ff448bc0540dc5451"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ef1b7339e35a54ff448bc0540dc5451","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","requestID":"5ef1b7339e35a54ff448bc0540dc5451"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.886204,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ef1b7339e35a54ff448bc0540dc5451","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849779,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3OX0.GkNqdIoPQsej6dMzU84uw5Mv9-tBX5dZEZTun5Q-6V8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5ef1b7339e35a54ff448bc0540dc5451","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Attempting to finish experiment","requestID":"5ef1b7339e35a54ff448bc0540dc5451"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5ac42600-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.680111,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ac42600-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849779,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3OX0.GkNqdIoPQsej6dMzU84uw5Mv9-tBX5dZEZTun5Q-6V8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5ac42600-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8","device":"c8621d00-e7a8-4bd3-80a5-6a9def575a26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9883189a-9222-4c7a-9f9a-395ebce1d51f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/f383e113-5d73-450f-9c91-78cb5381a3d8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f383e113-5d73-450f-9c91-78cb5381a3d8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff383e113-5d73-450f-9c91-78cb5381a3d8': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff383e113-5d73-450f-9c91-78cb5381a3d8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"20fed9e4-a9b6-483d-b7f1-1753a27e4465","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.3112273} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5142f90c-7eca-431d-bcfe-462e05eb21d0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.3113542} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7cabec6224bd6a271bcdb7a69caec68e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"7cabec6224bd6a271bcdb7a69caec68e","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"5ac42600-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fe1c61de280b37a2ea77a17d417de7ec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/9883189a-9222-4c7a-9f9a-395ebce1d51f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8"}}},"level":"info","message":"received a callback","requestID":"7cabec6224bd6a271bcdb7a69caec68e"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fe1c61de280b37a2ea77a17d417de7ec","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/9883189a-9222-4c7a-9f9a-395ebce1d51f"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8"}}},"level":"info","message":"received a callback","requestID":"fe1c61de280b37a2ea77a17d417de7ec"} device-1 | {"data":{"peerconnection":"f383e113-5d73-450f-9c91-78cb5381a3d8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5ac42600-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8 204 47ms","method":"DELETE","requestID":"5ac42600-243b-11f0-b067-2fe344ae06f8","responseTime":47,"status":204,"url":"/peerconnections/f383e113-5d73-450f-9c91-78cb5381a3d8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"},"level":"info","message":"Successfully finished experiment","requestID":"5ef1b7339e35a54ff448bc0540dc5451"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ace3820-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9883189a-9222-4c7a-9f9a-395ebce1d51f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfb51dce-e6cd-41de-b7b1-ad40b6d9319d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.3663042} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.246796,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ace3820-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f","object_type":"device","rebac_allow":false,"scope_allow":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":"5ace3820-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ace3820-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling 200 8ms","method":"POST","requestID":"5ace3820-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5acfe5d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8621d00-e7a8-4bd3-80a5-6a9def575a26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5bffb54-76fd-43aa-86e7-b1d231b10899","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.377205} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.524947,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5acfe5d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26","object_type":"device","rebac_allow":false,"scope_allow":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":"5acfe5d0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5acfe5d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling 200 8ms","method":"POST","requestID":"5acfe5d0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aa1be1c-2117-44a5-b38d-7fb3a3a1c208': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"2bc4e56b-5222-4db1-a310-456a13f39428","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.392519} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6daf70cd-d4a9-4328-b2db-48a4d0d3b340","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.3927603} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"5ef1b7339e35a54ff448bc0540dc5451","responseTime":33,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208","requestID":"5ef1b7339e35a54ff448bc0540dc5451"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ef1b7339e35a54ff448bc0540dc5451"} experiment-1 | {"level":"info","message":"DELETE /experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208 204 205ms","method":"DELETE","requestID":"5ef1b7339e35a54ff448bc0540dc5451","responseTime":205,"status":204,"url":"/experiments/0aa1be1c-2117-44a5-b38d-7fb3a3a1c208"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +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.370","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"944f32412dcbecd83120c73542b591fc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 178ms","method":"POST","requestID":"7cabec6224bd6a271bcdb7a69caec68e","responseTime":178,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch","requestID":"7cabec6224bd6a271bcdb7a69caec68e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 178ms","method":"POST","requestID":"fe1c61de280b37a2ea77a17d417de7ec","responseTime":178,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch","requestID":"fe1c61de280b37a2ea77a17d417de7ec"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3OX0.GkNqdIoPQsej6dMzU84uw5Mv9-tBX5dZEZTun5Q-6V8","level":"info","message":"auth send jwt","requestID":"f5cd3a313c3ddfdf7454126b862c855b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f5cd3a313c3ddfdf7454126b862c855b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f5cd3a313c3ddfdf7454126b862c855b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2543","request_time":"2.904","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":"ed4470e65d3981ad95ee4946e9107b58"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.778248,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9883189a-9222-4c7a-9f9a-395ebce1d51f' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f5cd3a313c3ddfdf7454126b862c855b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849779,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3OX0.GkNqdIoPQsej6dMzU84uw5Mv9-tBX5dZEZTun5Q-6V8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f5cd3a313c3ddfdf7454126b862c855b","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c8621d00-e7a8-4bd3-80a5-6a9def575a26' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"42ff9a07-6129-46b9-84cd-a9cf72fa33b4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.5377} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f5cd3a313c3ddfdf7454126b862c855b","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28f3ad64-48a5-499e-b05b-d5cf3f1ff6df","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.5421734} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"f5cd3a313c3ddfdf7454126b862c855b","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"abd80fa5-cb92-4f90-90c2-450f08d53b5d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.5744786} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"906f3bb0-cf1d-47c6-90bc-0d4ff36a0fcf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.5746727} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"f5cd3a313c3ddfdf7454126b862c855b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.574461209Z"}]},"request_id":"e97b2121-619b-4bfb-93f6-338a57844104","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.5790331} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f5cd3a313c3ddfdf7454126b862c855b","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +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":"f5cd3a313c3ddfdf7454126b862c855b"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f5cd3a313c3ddfdf7454126b862c855b"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"f5cd3a313c3ddfdf7454126b862c855b","responseTime":85,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3OX0.GkNqdIoPQsej6dMzU84uw5Mv9-tBX5dZEZTun5Q-6V8","level":"info","message":"auth send jwt","requestID":"51c3f8c330fc97ce207fd8040933a3ce"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51c3f8c330fc97ce207fd8040933a3ce","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"51c3f8c330fc97ce207fd8040933a3ce"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.669079,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"51c3f8c330fc97ce207fd8040933a3ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849779,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc3OX0.GkNqdIoPQsej6dMzU84uw5Mv9-tBX5dZEZTun5Q-6V8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"51c3f8c330fc97ce207fd8040933a3ce","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"123c38f0-8418-48c9-9731-d6a9117c566d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.6256504} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"51c3f8c330fc97ce207fd8040933a3ce","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"560045c2-ab2d-4b65-9ccd-ab516c8a54b2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.6301036} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"51c3f8c330fc97ce207fd8040933a3ce","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"721b63b1-9a2f-4eee-b177-9e6cadc14cb6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.6397786} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ead5e5c6-d746-42f1-9a1d-5a47c1a3b25b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.6399643} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"51c3f8c330fc97ce207fd8040933a3ce","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.639761809Z"}]},"request_id":"793c102b-d025-40f0-8bc5-070cc440594f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849779.6686287} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"51c3f8c330fc97ce207fd8040933a3ce","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"51c3f8c330fc97ce207fd8040933a3ce"} gateway-1 | {"time_local":"28/Apr/2025:14:16:19 +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":"51c3f8c330fc97ce207fd8040933a3ce"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"51c3f8c330fc97ce207fd8040933a3ce","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d783cac0e5c09c246a143dae09185692","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d783cac0e5c09c246a143dae09185692","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/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":"d783cac0e5c09c246a143dae09185692"} device-1 | {"level":"info","message":"OPTIONS /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/websocket 200 1ms","method":"OPTIONS","requestID":"d783cac0e5c09c246a143dae09185692","responseTime":1,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4MX0.5XbbXP0k_RtPMlBCvmrRlGGh27SaU21dgEZ9_HCYP7A","level":"info","message":"auth send jwt","requestID":"109c018a1e95c191c7fed4d9bb0f02ec"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"109c018a1e95c191c7fed4d9bb0f02ec","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"109c018a1e95c191c7fed4d9bb0f02ec"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:21Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146156,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"109c018a1e95c191c7fed4d9bb0f02ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849781,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4MX0.5XbbXP0k_RtPMlBCvmrRlGGh27SaU21dgEZ9_HCYP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"109c018a1e95c191c7fed4d9bb0f02ec","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"55d9ad3ec83ba68102dbd0afcbbedffa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"55d9ad3ec83ba68102dbd0afcbbedffa","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/78567645-5449-47ab-b631-013934167f69/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":"55d9ad3ec83ba68102dbd0afcbbedffa"} device-1 | {"level":"info","message":"OPTIONS /devices/78567645-5449-47ab-b631-013934167f69/websocket 200 0ms","method":"OPTIONS","requestID":"55d9ad3ec83ba68102dbd0afcbbedffa","responseTime":0,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4MX0.5XbbXP0k_RtPMlBCvmrRlGGh27SaU21dgEZ9_HCYP7A","level":"info","message":"auth send jwt","requestID":"4407f02bc1a39d49a6f2a7d02d93c559"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4407f02bc1a39d49a6f2a7d02d93c559","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4407f02bc1a39d49a6f2a7d02d93c559"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:21Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643668,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4407f02bc1a39d49a6f2a7d02d93c559","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849781,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4MX0.5XbbXP0k_RtPMlBCvmrRlGGh27SaU21dgEZ9_HCYP7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4407f02bc1a39d49a6f2a7d02d93c559","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"109c018a1e95c191c7fed4d9bb0f02ec"} gateway-1 | {"time_local":"28/Apr/2025:14:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/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":"109c018a1e95c191c7fed4d9bb0f02ec"} device-1 | {"level":"info","message":"POST /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/websocket 200 37ms","method":"POST","requestID":"109c018a1e95c191c7fed4d9bb0f02ec","responseTime":37,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4407f02bc1a39d49a6f2a7d02d93c559"} device-1 | {"level":"info","message":"POST /devices/78567645-5449-47ab-b631-013934167f69/websocket 200 28ms","method":"POST","requestID":"4407f02bc1a39d49a6f2a7d02d93c559","responseTime":28,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/78567645-5449-47ab-b631-013934167f69/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":"4407f02bc1a39d49a6f2a7d02d93c559"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/78567645-5449-47ab-b631-013934167f69' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0","level":"info","message":"auth send jwt","requestID":"83e6ec140790722108465aea00137fd0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"83e6ec140790722108465aea00137fd0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83e6ec140790722108465aea00137fd0"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645561,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"83e6ec140790722108465aea00137fd0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"83e6ec140790722108465aea00137fd0","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.574461209Z"}]},"request_id":"728535cd-a87a-44a4-8773-ceabb3e3c1c4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.0123255} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"83e6ec140790722108465aea00137fd0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83e6ec140790722108465aea00137fd0"} gateway-1 | {"time_local":"28/Apr/2025:14:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/78567645-5449-47ab-b631-013934167f69? 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":"83e6ec140790722108465aea00137fd0"} device-1 | {"level":"info","message":"GET /devices/78567645-5449-47ab-b631-013934167f69? 200 11ms","method":"GET","requestID":"83e6ec140790722108465aea00137fd0","responseTime":11,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0","level":"info","message":"auth send jwt","requestID":"f078ac1329a44852236902163bc1e03b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f078ac1329a44852236902163bc1e03b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f078ac1329a44852236902163bc1e03b"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712096,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f078ac1329a44852236902163bc1e03b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f078ac1329a44852236902163bc1e03b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.639761809Z"}]},"request_id":"0c2bdbd2-20ec-49dd-85bd-7ed89e3606e7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.0269785} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f078ac1329a44852236902163bc1e03b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f078ac1329a44852236902163bc1e03b"} device-1 | {"level":"info","message":"GET /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a? 200 10ms","method":"GET","requestID":"f078ac1329a44852236902163bc1e03b","responseTime":10,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a? 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":"f078ac1329a44852236902163bc1e03b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0","level":"info","message":"auth send jwt","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d4910d60053810d6f0c4c7a2e90eb40","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.681055,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0d4910d60053810d6f0c4c7a2e90eb40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0d4910d60053810d6f0c4c7a2e90eb40","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Attempting to run experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Attempting to book experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Successfully booked experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5c6d9040-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5c6dde60-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.577455,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c6d9040-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"5c6d9040-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.132452,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c6dde60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"5c6dde60-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.574461209Z"}]},"request_id":"e7b7e04c-af49-4458-90ba-8982e13e8113","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.1172657} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5c6d9040-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.639761809Z"}]},"request_id":"44361402-199e-4b5a-aec1-63497c1fc696","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.1201987} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5c6d9040-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5c6dde60-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/78567645-5449-47ab-b631-013934167f69? 200 37ms","method":"GET","requestID":"5c6d9040-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5c6dde60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a? 200 37ms","method":"GET","requestID":"5c6dde60-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Setting up experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Successfully set up experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5c7c8460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5c7cab70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c7cd280-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Successfully running experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.954626,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c7c8460-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"5c7c8460-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806161,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c7cab70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"5c7cab70-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f50e12a-65b0-4a07-a15f-3d53b86d0936","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.2147853} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.678584,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c7cd280-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","rebac_allow":false,"scope_allow":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":"5c7cd280-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.574461209Z"}]},"request_id":"fd52a8f5-847a-4430-b13e-b0c7a0b9c684","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.216372} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.639761809Z"}]},"request_id":"951c6233-dfff-4ffa-952d-48f0979fad8e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.2176156} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5c7c8460-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5c7cab70-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c7cd280-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/78567645-5449-47ab-b631-013934167f69/signaling 200 38ms","method":"POST","requestID":"5c7cd280-243b-11f0-b067-2fe344ae06f8","responseTime":38,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee4aeda5-987f-4854-b71b-e5634da2307b#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee4aeda5-987f-4854-b71b-e5634da2307b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"28c27f64-f727-4c7e-a996-e012a1818f48","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.2226698} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5c7c8460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/78567645-5449-47ab-b631-013934167f69? 200 42ms","method":"GET","requestID":"5c7c8460-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ec0b245-3ba2-4005-b16c-bedb228b0d3d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.2230344} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c82ed00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"0d4910d60053810d6f0c4c7a2e90eb40","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5c7cab70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a? 200 43ms","method":"GET","requestID":"5c7cab70-243b-11f0-b067-2fe344ae06f8","responseTime":43,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a?"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6be6739-4150-49bf-a2f3-5587aa3f1f51","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.2292304} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.570371,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c83d760-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c82ed00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","rebac_allow":false,"scope_allow":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":"5c82ed00-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} gateway-1 | {"time_local":"28/Apr/2025:14:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"level":"info","message":"POST /experiments? 201 224ms","method":"POST","requestID":"0d4910d60053810d6f0c4c7a2e90eb40","responseTime":224,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05b7423e-15e7-4d88-8b81-306ba3339d48","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.2594771} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.947611,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c82ed00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling 200 36ms","method":"POST","requestID":"5c82ed00-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c83d760-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","rebac_allow":false,"scope_allow":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":"5c83d760-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0","level":"info","message":"auth send jwt","requestID":"c4a217a008de7f4433bbf31d1392850c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c4a217a008de7f4433bbf31d1392850c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c4a217a008de7f4433bbf31d1392850c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c83d760-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/78567645-5449-47ab-b631-013934167f69/signaling 200 36ms","method":"POST","requestID":"5c83d760-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055317,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c4a217a008de7f4433bbf31d1392850c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4a217a008de7f4433bbf31d1392850c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c89a3c0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16: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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.574461209Z"}]},"request_id":"10813623-a852-43ff-81a2-4fc2352e13c3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.2718844} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c4a217a008de7f4433bbf31d1392850c","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98f6c69c-4ef6-4082-b2b5-967b22abcb91","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.2723427} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.634973,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c89a3c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","rebac_allow":false,"scope_allow":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":"5c89a3c0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c4a217a008de7f4433bbf31d1392850c"} gateway-1 | {"time_local":"28/Apr/2025:14:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/78567645-5449-47ab-b631-013934167f69? 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":"c4a217a008de7f4433bbf31d1392850c"} device-1 | {"level":"info","message":"GET /devices/78567645-5449-47ab-b631-013934167f69? 200 13ms","method":"GET","requestID":"c4a217a008de7f4433bbf31d1392850c","responseTime":13,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c89a3c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling 200 10ms","method":"POST","requestID":"5c89a3c0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Building connection plan","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"fdb72ef8-a83a-4b18-a882-4391b83805dc"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"ba879818-b549-4b3e-8cff-2dcd4f772914"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"379a548c-783e-4b45-922f-808a1f9bc0cd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} 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/78567645-5449-47ab-b631-013934167f69"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0","level":"info","message":"auth send jwt","requestID":"7de4a06e33e23e549760d68a7b4fad40"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"7de4a06e33e23e549760d68a7b4fad40","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5c8f7020-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7de4a06e33e23e549760d68a7b4fad40"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.632204,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c8f7020-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5c8f7020-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.576477,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7de4a06e33e23e549760d68a7b4fad40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7de4a06e33e23e549760d68a7b4fad40","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:19.639761809Z"}]},"request_id":"eef10c0d-50cc-4381-ada9-cd8de3b080a2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.3150024} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7de4a06e33e23e549760d68a7b4fad40","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7de4a06e33e23e549760d68a7b4fad40"} device-1 | {"level":"info","message":"GET /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a? 200 11ms","method":"GET","requestID":"7de4a06e33e23e549760d68a7b4fad40","responseTime":11,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a? 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":"7de4a06e33e23e549760d68a7b4fad40"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"14da20fa-dfb5-4389-b536-f11b7e840492","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.3186698} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"159ab258-8fc0-437e-9d8d-b450e32bdce0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.318802} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5c8f7020-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5c8f7020-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5c8f7020-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd'","requestID":"5c8f7020-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd'","requestID":"5c8f7020-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5c8f7020-243b-11f0-b067-2fe344ae06f8"} 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":"5c8f7020-243b-11f0-b067-2fe344ae06f8","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":"5c8f7020-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd","device":"78567645-5449-47ab-b631-013934167f69","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd","device":"5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0d4910d60053810d6f0c4c7a2e90eb40"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c9c4160-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"437ac5b7-905e-4938-90fd-b87002ff0080","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.395021} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.571214,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c9c4160-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","rebac_allow":false,"scope_allow":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":"5c9c4160-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c9c4160-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/78567645-5449-47ab-b631-013934167f69/signaling 200 8ms","method":"POST","requestID":"5c9c4160-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c9dc800-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a63978b3-f24e-414a-9a9e-d4ed72743afc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.4050465} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.713216,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} device-1 | {"device":"78567645-5449-47ab-b631-013934167f69","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"78567645-5449-47ab-b631-013934167f69","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/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c9dc800-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","rebac_allow":false,"scope_allow":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":"5c9dc800-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c9dc800-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling 200 10ms","method":"POST","requestID":"5c9dc800-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling"} device-1 | {"device":"5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 2105845353931109177 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:zF8q\r\na=ice-pwd:+LXrbdR/4BUUGlf9v4PYWbbp\r\na=ice-options:trickle\r\na=fingerprint:sha-256 20:FE:46:22:B8:67:2E:4B:E9:F7:01:AF:99:2D:80:D4:70:DC:10:6B:C6:8D:B9:CB:E2:79:DC:E9:94:15:0B:4E\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","deviceName":"JS Device 2","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/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a'"} device-1 | {"content":{"sdp":"v=0\r\no=- 6873686960075019425 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:rg90\r\na=ice-pwd:xcvVvrvW7qphE71Ih5FVLGvp\r\na=ice-options:trickle\r\na=fingerprint:sha-256 05:F7:5E:AB:ED:94:F0:E7:91:D0:97:6E:DE:14:E3:CD:BF:3A:5F:4A:A2:C4:43:9D:30:C3:D6:F9:BC:E7:D7:AB\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"78567645-5449-47ab-b631-013934167f69","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:889256410 1 udp 2113937151 cc6c655d-af6f-433b-a19d-aca3988053a5.local 48999 typ host generation 0 ufrag rg90 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"78567645-5449-47ab-b631-013934167f69","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/78567645-5449-47ab-b631-013934167f69'"} device-1 | {"content":{"candidate":"candidate:2929707563 1 udp 2113937151 52d9e0e3-16a9-4a8d-b370-06e2adda6951.local 56621 typ host generation 0 ufrag zF8q network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","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/cd25bb1a-e162-4dc2-a300-712bef16d6bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cd25bb1a-e162-4dc2-a300-712bef16d6bd","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4d2fdaa276514933871bd1614c41031c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"78567645-5449-47ab-b631-013934167f69","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4d2fdaa276514933871bd1614c41031c","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"78567645-5449-47ab-b631-013934167f69","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/78567645-5449-47ab-b631-013934167f69"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd"}}},"level":"info","message":"received a callback","requestID":"4d2fdaa276514933871bd1614c41031c"} device-1 | {"device":"5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"78567645-5449-47ab-b631-013934167f69","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d2fdaa276514933871bd1614c41031c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"4d2fdaa276514933871bd1614c41031c","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"78567645-5449-47ab-b631-013934167f69","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"cd25bb1a-e162-4dc2-a300-712bef16d6bd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"cd25bb1a-e162-4dc2-a300-712bef16d6bd","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/cd25bb1a-e162-4dc2-a300-712bef16d6bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cd25bb1a-e162-4dc2-a300-712bef16d6bd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"010a6d058d358fd2a1cb5515e5f6ed9c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"010a6d058d358fd2a1cb5515e5f6ed9c","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/78567645-5449-47ab-b631-013934167f69"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd"}}},"level":"info","message":"received a callback","requestID":"010a6d058d358fd2a1cb5515e5f6ed9c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5cafa250-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcd25bb1a-e162-4dc2-a300-712bef16d6bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3580fdfa-1da6-4ff2-bba6-ca7f1a9694c6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.5462053} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.914345,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5cafa250-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd","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 30ms","method":"POST","requestID":"5cafa250-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5cafa250-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd 200 37ms","method":"GET","requestID":"5cafa250-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":200,"url":"/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"010a6d058d358fd2a1cb5515e5f6ed9c","responseTime":56,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.058","http_referrer":"","http_user_agent":"node-fetch","requestID":"010a6d058d358fd2a1cb5515e5f6ed9c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5cb76a80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fbca332-e520-4e22-9206-f11eca22f83e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.5996354} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.042259,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5cb76a80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","rebac_allow":false,"scope_allow":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":"5cb76a80-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5cb76a80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/78567645-5449-47ab-b631-013934167f69/signaling 200 36ms","method":"POST","requestID":"5cb76a80-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5cbd5df0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8b50f44-2113-4c95-8268-f68c071fb71b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.6117594} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.907235,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5cbd5df0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","rebac_allow":false,"scope_allow":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":"5cbd5df0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5cbd5df0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling 200 9ms","method":"POST","requestID":"5cbd5df0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0","level":"info","message":"auth send jwt","requestID":"f73858710e18c8146d9c41c91965b1f4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f73858710e18c8146d9c41c91965b1f4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ee4aeda5-987f-4854-b71b-e5634da2307b","requestID":"f73858710e18c8146d9c41c91965b1f4"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.093156,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f73858710e18c8146d9c41c91965b1f4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f73858710e18c8146d9c41c91965b1f4","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ee4aeda5-987f-4854-b71b-e5634da2307b","requestID":"f73858710e18c8146d9c41c91965b1f4"} experiment-1 | {"level":"info","message":"GET /experiments/ee4aeda5-987f-4854-b71b-e5634da2307b 200 16ms","method":"GET","requestID":"f73858710e18c8146d9c41c91965b1f4","responseTime":16,"status":200,"url":"/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ee4aeda5-987f-4854-b71b-e5634da2307b HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f73858710e18c8146d9c41c91965b1f4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0","level":"info","message":"auth send jwt","requestID":"c6989c66d1b154d4d47ec6d7b698aba2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c6989c66d1b154d4d47ec6d7b698aba2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ee4aeda5-987f-4854-b71b-e5634da2307b","requestID":"c6989c66d1b154d4d47ec6d7b698aba2"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.399081,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c6989c66d1b154d4d47ec6d7b698aba2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c6989c66d1b154d4d47ec6d7b698aba2","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Attempting to finish experiment","requestID":"c6989c66d1b154d4d47ec6d7b698aba2"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5ceaaf80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.910794,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ceaaf80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849782,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4Mn0.6PUDP117UizbSsfGFJ2JE_gma-ygI5POhzJ5j8Ec3w0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5ceaaf80-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd","device":"78567645-5449-47ab-b631-013934167f69","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd","device":"5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","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/cd25bb1a-e162-4dc2-a300-712bef16d6bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cd25bb1a-e162-4dc2-a300-712bef16d6bd","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcd25bb1a-e162-4dc2-a300-712bef16d6bd': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcd25bb1a-e162-4dc2-a300-712bef16d6bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"85505a9b-b1c0-4afb-803c-4fdb43525e68","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.9184558} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dac6b44c9f81afb8413fcb16740f4543","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7dc618b-7e0a-4456-b2da-ae6f71d384b8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.9187737} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dac6b44c9f81afb8413fcb16740f4543","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/78567645-5449-47ab-b631-013934167f69"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd"}}},"level":"info","message":"received a callback","requestID":"dac6b44c9f81afb8413fcb16740f4543"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"66b0f7f38ab526e4b20258d0e554ddf9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"66b0f7f38ab526e4b20258d0e554ddf9","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"5ceaaf80-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/relations/update"} 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/78567645-5449-47ab-b631-013934167f69"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd"}}},"level":"info","message":"received a callback","requestID":"66b0f7f38ab526e4b20258d0e554ddf9"} device-1 | {"data":{"peerconnection":"cd25bb1a-e162-4dc2-a300-712bef16d6bd","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5ceaaf80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd 204 37ms","method":"DELETE","requestID":"5ceaaf80-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":204,"url":"/peerconnections/cd25bb1a-e162-4dc2-a300-712bef16d6bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"},"level":"info","message":"Successfully finished experiment","requestID":"c6989c66d1b154d4d47ec6d7b698aba2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5cf64840-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78567645-5449-47ab-b631-013934167f69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bedf8128-4dd1-463e-b49a-4118a3fdbb1b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.9840775} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.30456,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5cf64840-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78567645-5449-47ab-b631-013934167f69","object_type":"device","rebac_allow":false,"scope_allow":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":"5cf64840-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5cf64840-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/78567645-5449-47ab-b631-013934167f69/signaling 200 8ms","method":"POST","requestID":"5cf64840-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/78567645-5449-47ab-b631-013934167f69/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5cf7cee0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee4aeda5-987f-4854-b71b-e5634da2307b': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee4aeda5-987f-4854-b71b-e5634da2307b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"87a881e9-0974-422d-87a4-190eb0c3a400","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.991235} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50cead85-a171-4c13-8672-85b1bb6d8252","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.991478} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"c6989c66d1b154d4d47ec6d7b698aba2","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89fab242-7154-41d8-bd24-0ce993d2f05c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849782.994806} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.342475,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5cf7cee0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a","object_type":"device","rebac_allow":false,"scope_allow":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":"5cf7cee0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5cf7cee0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling 200 9ms","method":"POST","requestID":"5cf7cee0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ee4aeda5-987f-4854-b71b-e5634da2307b","requestID":"c6989c66d1b154d4d47ec6d7b698aba2"} gateway-1 | {"time_local":"28/Apr/2025:14:16:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ee4aeda5-987f-4854-b71b-e5634da2307b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6989c66d1b154d4d47ec6d7b698aba2"} experiment-1 | {"level":"info","message":"DELETE /experiments/ee4aeda5-987f-4854-b71b-e5634da2307b 204 203ms","method":"DELETE","requestID":"c6989c66d1b154d4d47ec6d7b698aba2","responseTime":203,"status":204,"url":"/experiments/ee4aeda5-987f-4854-b71b-e5634da2307b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 173ms","method":"POST","requestID":"dac6b44c9f81afb8413fcb16740f4543","responseTime":173,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch","requestID":"dac6b44c9f81afb8413fcb16740f4543"} gateway-1 | {"time_local":"28/Apr/2025:14:16:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch","requestID":"66b0f7f38ab526e4b20258d0e554ddf9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 173ms","method":"POST","requestID":"66b0f7f38ab526e4b20258d0e554ddf9","responseTime":173,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4M30.SJm-FBSisAuiPTKxDMDdmF386-A2RgSvBCoLzNy2rYE","level":"info","message":"auth send jwt","requestID":"9afb55adcad72cf874b2a8b178254663"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"9afb55adcad72cf874b2a8b178254663","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9afb55adcad72cf874b2a8b178254663"} gateway-1 | {"time_local":"28/Apr/2025:14:16:23 +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.121","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":"9b1f10a01b1845af4f499257df83a009"} gateway-1 | {"time_local":"28/Apr/2025:14:16:23 +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.140","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":"cc8aff0f13a4a9d6bee3e3aa9bba2acc"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5b461005-dd0c-4fa1-b42e-9ef9e2b55d5a' closed"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.900432,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9afb55adcad72cf874b2a8b178254663","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849783,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4M30.SJm-FBSisAuiPTKxDMDdmF386-A2RgSvBCoLzNy2rYE"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"9afb55adcad72cf874b2a8b178254663","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/78567645-5449-47ab-b631-013934167f69' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0258bbc8-9b95-44d3-b48e-556e57d4e717","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.1410668} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9afb55adcad72cf874b2a8b178254663","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bb83015-196e-42c0-8e02-0b4ee6f898b3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.144712} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"9afb55adcad72cf874b2a8b178254663","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"31b0e548-2dee-4c4c-92e2-82e2891f0dc2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.1541607} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39084fb6-7ecb-402b-b895-d6f1ef3b2115","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.154353} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"9afb55adcad72cf874b2a8b178254663","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.154140531Z"}]},"request_id":"582e2a70-3362-4da0-9e1e-d0a7fb8e8840","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.157651} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9afb55adcad72cf874b2a8b178254663","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9afb55adcad72cf874b2a8b178254663"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"9afb55adcad72cf874b2a8b178254663","responseTime":55,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9afb55adcad72cf874b2a8b178254663"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4M30.SJm-FBSisAuiPTKxDMDdmF386-A2RgSvBCoLzNy2rYE","level":"info","message":"auth send jwt","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:23Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.631081,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849783,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4M30.SJm-FBSisAuiPTKxDMDdmF386-A2RgSvBCoLzNy2rYE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"68594e2f-f13f-4ea2-9a60-c5c9af53be8b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.1770563} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01e8bfdf-ed84-4621-a923-63fe29f3f27a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.1805613} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"2ead13be-b358-46ca-8d99-09d1a4dc03f1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.1898072} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"054dd7ab-8cd4-43ce-af16-8333e279a29f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.1900342} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.189785796Z"}]},"request_id":"a34e13ca-23cf-4471-8d4f-aada6d9530ee","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849783.193714} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753"} device-1 | {"level":"info","message":"POST /devices? 201 31ms","method":"POST","requestID":"5ca39ed01ddb60c5a6b84a3d5fbcd753","responseTime":31,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NH0.6fc7Dwt1VZ7SPYZTbmJ1QPtHF2ZLatTBVPPqNxx_0Mg","level":"info","message":"auth send jwt","requestID":"166c4dec453169c20eb5d1d290679167"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"166c4dec453169c20eb5d1d290679167","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"166c4dec453169c20eb5d1d290679167"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:24Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.817686,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"166c4dec453169c20eb5d1d290679167","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849784,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NH0.6fc7Dwt1VZ7SPYZTbmJ1QPtHF2ZLatTBVPPqNxx_0Mg"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"166c4dec453169c20eb5d1d290679167","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.189785796Z"}]},"request_id":"b211f50d-232d-441b-a22f-b6aecc8641f1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849784.0865948} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"166c4dec453169c20eb5d1d290679167","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"287dbefa-a4b2-4e5f-b725-a27225837f96","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849784.0906694} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"166c4dec453169c20eb5d1d290679167","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.189785796Z"}]},"request_id":"e6cb39a9-f8ae-4eaf-bfa8-068b9e30d0d6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849784.1364315} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"166c4dec453169c20eb5d1d290679167","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"166c4dec453169c20eb5d1d290679167"} gateway-1 | {"time_local":"28/Apr/2025:14:16:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.088","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"166c4dec453169c20eb5d1d290679167"} device-1 | {"level":"info","message":"PATCH /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf 200 84ms","method":"PATCH","requestID":"166c4dec453169c20eb5d1d290679167","responseTime":84,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NH0.6fc7Dwt1VZ7SPYZTbmJ1QPtHF2ZLatTBVPPqNxx_0Mg","level":"info","message":"auth send jwt","requestID":"e440923cd6acf2f74ae8fd61d1ec8133"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e440923cd6acf2f74ae8fd61d1ec8133","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e440923cd6acf2f74ae8fd61d1ec8133"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:24Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28771,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e440923cd6acf2f74ae8fd61d1ec8133","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849784,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NH0.6fc7Dwt1VZ7SPYZTbmJ1QPtHF2ZLatTBVPPqNxx_0Mg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e440923cd6acf2f74ae8fd61d1ec8133","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e440923cd6acf2f74ae8fd61d1ec8133"} device-1 | {"level":"info","message":"POST /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/websocket 200 38ms","method":"POST","requestID":"e440923cd6acf2f74ae8fd61d1ec8133","responseTime":38,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/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.18","requestID":"e440923cd6acf2f74ae8fd61d1ec8133"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f0bbbe69ca0e07ed5896f2942eac5172","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"f0bbbe69ca0e07ed5896f2942eac5172","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4b84df28-c28b-4948-9217-6901edd7ff67/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":"f0bbbe69ca0e07ed5896f2942eac5172"} device-1 | {"level":"info","message":"OPTIONS /devices/4b84df28-c28b-4948-9217-6901edd7ff67/websocket 200 1ms","method":"OPTIONS","requestID":"f0bbbe69ca0e07ed5896f2942eac5172","responseTime":1,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs","level":"info","message":"auth send jwt","requestID":"3380fa7ecf8c77a0b49467a222c12f40"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3380fa7ecf8c77a0b49467a222c12f40","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3380fa7ecf8c77a0b49467a222c12f40"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.371069,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"3380fa7ecf8c77a0b49467a222c12f40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3380fa7ecf8c77a0b49467a222c12f40","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3380fa7ecf8c77a0b49467a222c12f40"} gateway-1 | {"time_local":"28/Apr/2025:14:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4b84df28-c28b-4948-9217-6901edd7ff67/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3380fa7ecf8c77a0b49467a222c12f40"} device-1 | {"level":"info","message":"POST /devices/4b84df28-c28b-4948-9217-6901edd7ff67/websocket 200 41ms","method":"POST","requestID":"3380fa7ecf8c77a0b49467a222c12f40","responseTime":41,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs","level":"info","message":"auth send jwt","requestID":"218a98204b2b29a1d960202f78e82e2e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"218a98204b2b29a1d960202f78e82e2e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"218a98204b2b29a1d960202f78e82e2e"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.175027,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"218a98204b2b29a1d960202f78e82e2e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"218a98204b2b29a1d960202f78e82e2e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.154140531Z"}]},"request_id":"49997121-db80-4d1f-9154-d981497aa56f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.5029342} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"218a98204b2b29a1d960202f78e82e2e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"218a98204b2b29a1d960202f78e82e2e"} gateway-1 | {"time_local":"28/Apr/2025:14:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4b84df28-c28b-4948-9217-6901edd7ff67? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"218a98204b2b29a1d960202f78e82e2e"} device-1 | {"level":"info","message":"GET /devices/4b84df28-c28b-4948-9217-6901edd7ff67? 200 15ms","method":"GET","requestID":"218a98204b2b29a1d960202f78e82e2e","responseTime":15,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs","level":"info","message":"auth send jwt","requestID":"9c174674e94607cc2394636a733a6392"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9c174674e94607cc2394636a733a6392","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9c174674e94607cc2394636a733a6392"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888538,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9c174674e94607cc2394636a733a6392","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9c174674e94607cc2394636a733a6392","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.189785796Z"}]},"request_id":"1da7d0d6-f832-4b15-9e25-391a291e8248","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.5213592} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9c174674e94607cc2394636a733a6392","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9c174674e94607cc2394636a733a6392"} gateway-1 | {"time_local":"28/Apr/2025:14:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf? 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":"9c174674e94607cc2394636a733a6392"} device-1 | {"level":"info","message":"GET /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf? 200 12ms","method":"GET","requestID":"9c174674e94607cc2394636a733a6392","responseTime":12,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs","level":"info","message":"auth send jwt","requestID":"b6d05a250e26b30d585c8598188e9f1b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b6d05a250e26b30d585c8598188e9f1b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b6d05a250e26b30d585c8598188e9f1b"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.05846,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b6d05a250e26b30d585c8598188e9f1b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b6d05a250e26b30d585c8598188e9f1b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Attempting to run experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Attempting to book experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Successfully booked experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e84d780-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e84fe90-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.115219,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5e84d780-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"5e84d780-243b-11f0-b067-2fe344ae06f8","responseTime":25,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":20.741483,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5e84fe90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"5e84fe90-243b-11f0-b067-2fe344ae06f8","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.154140531Z"}]},"request_id":"20a20dc3-3850-4fc6-8eb5-23e8d6e93807","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.6226916} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5e84d780-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e84d780-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.189785796Z"}]},"request_id":"919db3f7-c02e-4ea3-a2f9-684c64b99382","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.6251688} device-1 | {"level":"info","message":"GET /devices/4b84df28-c28b-4948-9217-6901edd7ff67? 200 33ms","method":"GET","requestID":"5e84d780-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e84fe90-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e84fe90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf? 200 35ms","method":"GET","requestID":"5e84fe90-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Setting up experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Successfully set up experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e935670-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e937d80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5e974e10-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Successfully running experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57336","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915121,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5e935670-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"5e935670-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601865,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5e937d80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5e937d80-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16: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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.154140531Z"}]},"request_id":"3e1bd2c6-8fb3-4496-90cf-48a11aef5d17","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.7218187} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e935670-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.189785796Z"}]},"request_id":"dd58da4e-d985-4851-8a85-77dae16de0e8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.7225425} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1488f3f0-0f70-44f9-b831-cff57b65c60d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.723409} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e937d80-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.58283,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5e974e10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","rebac_allow":false,"scope_allow":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":"5e974e10-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e937d80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf? 200 40ms","method":"GET","requestID":"5e937d80-243b-11f0-b067-2fe344ae06f8","responseTime":40,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e935670-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/4b84df28-c28b-4948-9217-6901edd7ff67? 200 42ms","method":"GET","requestID":"5e935670-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5e974e10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d964cb7-ba33-400a-9e6e-2f4d017df9d7#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d964cb7-ba33-400a-9e6e-2f4d017df9d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"a469921d-88ea-473e-b7cd-6f87e1781bef","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.7299838} device-1 | {"level":"info","message":"POST /devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling 200 17ms","method":"POST","requestID":"5e974e10-243b-11f0-b067-2fe344ae06f8","responseTime":17,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca228727-d9b9-4c98-a3c3-6421779d09b3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.7302523} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5e9a0d30-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b6d05a250e26b30d585c8598188e9f1b","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5e9a8260-243b-11f0-b067-2fe344ae06f8"} gateway-1 | {"time_local":"28/Apr/2025:14:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b6d05a250e26b30d585c8598188e9f1b"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38f98fa8-6417-4a7f-86c7-d484abc6ad68","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.7361615} experiment-1 | {"level":"info","message":"POST /experiments? 201 233ms","method":"POST","requestID":"b6d05a250e26b30d585c8598188e9f1b","responseTime":233,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.836183,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5e9a0d30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","rebac_allow":false,"scope_allow":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":"5e9a0d30-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e02808b1-5157-4980-8d8a-aa894cd4e656","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.7635} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.030667,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5e9a8260-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","rebac_allow":false,"scope_allow":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":"5e9a8260-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs","level":"info","message":"auth send jwt","requestID":"9461f76dbfc9c64b40a3e3bde38ffe0f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9461f76dbfc9c64b40a3e3bde38ffe0f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5e9a0d30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling 200 38ms","method":"POST","requestID":"5e9a0d30-243b-11f0-b067-2fe344ae06f8","responseTime":38,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9461f76dbfc9c64b40a3e3bde38ffe0f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5e9a8260-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} device-1 | {"level":"info","message":"POST /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling 200 41ms","method":"POST","requestID":"5e9a8260-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.24837,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ea0c3f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9461f76dbfc9c64b40a3e3bde38ffe0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9461f76dbfc9c64b40a3e3bde38ffe0f","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5680c00-babe-48d9-bd1b-39a386ed5456","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.7820463} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.154140531Z"}]},"request_id":"b0f6549f-dc30-4189-9bb7-0c926015ddfb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.782058} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9461f76dbfc9c64b40a3e3bde38ffe0f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.235419,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ea0c3f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","rebac_allow":false,"scope_allow":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":"5ea0c3f0-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9461f76dbfc9c64b40a3e3bde38ffe0f"} gateway-1 | {"time_local":"28/Apr/2025:14:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4b84df28-c28b-4948-9217-6901edd7ff67? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9461f76dbfc9c64b40a3e3bde38ffe0f"} device-1 | {"level":"info","message":"GET /devices/4b84df28-c28b-4948-9217-6901edd7ff67? 200 42ms","method":"GET","requestID":"9461f76dbfc9c64b40a3e3bde38ffe0f","responseTime":42,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ea0c3f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling 200 40ms","method":"POST","requestID":"5ea0c3f0-243b-11f0-b067-2fe344ae06f8","responseTime":40,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Building connection plan","requestID":"b6d05a250e26b30d585c8598188e9f1b"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"24a14861-ccac-448f-bd28-c8fe60b34983"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"9be84971-fbc8-4c2b-bd67-dcbdc7df81d9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"522728de-e259-412e-babf-2d0c39cd05d2"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b6d05a250e26b30d585c8598188e9f1b"} 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/4b84df28-c28b-4948-9217-6901edd7ff67"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b6d05a250e26b30d585c8598188e9f1b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs","level":"info","message":"auth send jwt","requestID":"78ac6d7ae9a53ad60847fbeb494f7fa3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78ac6d7ae9a53ad60847fbeb494f7fa3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"78ac6d7ae9a53ad60847fbeb494f7fa3"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:54234","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.590133,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.543084,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"78ac6d7ae9a53ad60847fbeb494f7fa3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849785,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4NX0.o-MTMltsMOqhCjRQUho9fNB9ald8BEs6Dz2_9wjqFXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"78ac6d7ae9a53ad60847fbeb494f7fa3","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:23.189785796Z"}]},"request_id":"f33c7dcd-0b8f-4cfb-99d0-5b231b818b3b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.8294857} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78ac6d7ae9a53ad60847fbeb494f7fa3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"78ac6d7ae9a53ad60847fbeb494f7fa3"} gateway-1 | {"time_local":"28/Apr/2025:14:16:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf? 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":"78ac6d7ae9a53ad60847fbeb494f7fa3"} device-1 | {"level":"info","message":"GET /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf? 200 9ms","method":"GET","requestID":"78ac6d7ae9a53ad60847fbeb494f7fa3","responseTime":9,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"df91e58d-03ca-4d39-805b-3f3d62a9dfec","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.8572297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"288bd758-96bc-47bd-b8ff-30695da8ad74","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.8574371} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0'","requestID":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0'","requestID":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8"} 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":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8","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":"5ea7c8d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0","device":"4b84df28-c28b-4948-9217-6901edd7ff67","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/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b6d05a250e26b30d585c8598188e9f1b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5eb78040-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f628fa0-956d-4df2-a969-7cd6465e93fb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.9530103} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.858305,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5eb78040-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","rebac_allow":false,"scope_allow":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":"5eb78040-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5eb78040-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling 200 33ms","method":"POST","requestID":"5eb78040-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling"} device-1 | {"device":"4b84df28-c28b-4948-9217-6901edd7ff67","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4b84df28-c28b-4948-9217-6901edd7ff67","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ebcd770-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aaa9680f-3375-48bd-a49d-20874d146b03","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849785.9638674} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.16955,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ebcd770-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","rebac_allow":false,"scope_allow":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":"5ebcd770-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ebcd770-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling 200 8ms","method":"POST","requestID":"5ebcd770-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling"} device-1 | {"device":"0834b301-5c4b-4cc2-96ff-812b459af0bf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"f5fa0907-f905-480f-808a-fe73bf062ad0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 207369824718699058 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:gmI1\r\na=ice-pwd:NkllODu04SDYEX4sqIThJIGO\r\na=ice-options:trickle\r\na=fingerprint:sha-256 19:67:F4:BB:8E:AA:59:64:71:A4:DA:61:C7:AC:47:D7:07:EE:90:83:53:CD:A0:A7:F9:49:18:3E:13:31:E5:2A\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"4b84df28-c28b-4948-9217-6901edd7ff67","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1293589208 1 udp 2113937151 233ae0f7-5327-478c-bf48-bf88f0649e6c.local 33821 typ host generation 0 ufrag gmI1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4b84df28-c28b-4948-9217-6901edd7ff67","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"4b84df28-c28b-4948-9217-6901edd7ff67","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/4b84df28-c28b-4948-9217-6901edd7ff67'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f5fa0907-f905-480f-808a-fe73bf062ad0","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4b84df28-c28b-4948-9217-6901edd7ff67","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3193ae097115312593570f2f2448e78f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"3193ae097115312593570f2f2448e78f","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/4b84df28-c28b-4948-9217-6901edd7ff67"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0"}}},"level":"info","message":"received a callback","requestID":"3193ae097115312593570f2f2448e78f"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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":"3193ae097115312593570f2f2448e78f"} device-1 | {"device":"0834b301-5c4b-4cc2-96ff-812b459af0bf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"3193ae097115312593570f2f2448e78f","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"0834b301-5c4b-4cc2-96ff-812b459af0bf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0834b301-5c4b-4cc2-96ff-812b459af0bf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"f5fa0907-f905-480f-808a-fe73bf062ad0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0834b301-5c4b-4cc2-96ff-812b459af0bf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4b84df28-c28b-4948-9217-6901edd7ff67","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0834b301-5c4b-4cc2-96ff-812b459af0bf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"9da87d18bb5648a4a0f38824c4aca3fc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} device-1 | {"data":{"peerconnection":"f5fa0907-f905-480f-808a-fe73bf062ad0","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} 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/4b84df28-c28b-4948-9217-6901edd7ff67"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0"}}},"level":"info","message":"received a callback","requestID":"9da87d18bb5648a4a0f38824c4aca3fc"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"9da87d18bb5648a4a0f38824c4aca3fc","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff5fa0907-f905-480f-808a-fe73bf062ad0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"086c22d3-9a97-44d1-bee6-8694202461e9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.010468} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f5fa0907-f905-480f-808a-fe73bf062ad0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5ff53060-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.115161,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ff53060-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0","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":"5ff53060-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5ff53060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0 200 8ms","method":"GET","requestID":"5ff53060-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0"} device-1 | {"device":"4b84df28-c28b-4948-9217-6901edd7ff67","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"9da87d18bb5648a4a0f38824c4aca3fc","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"9da87d18bb5648a4a0f38824c4aca3fc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ff94f10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fee90fb1-ff44-4184-a3ca-9dc9e6bbf585","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.0382607} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.804216,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ff94f10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","rebac_allow":false,"scope_allow":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":"5ff94f10-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ff94f10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling 200 34ms","method":"POST","requestID":"5ff94f10-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ffef460-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56a4008c-738a-48e6-a810-c98a6b29060a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.0762343} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.206469,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ffef460-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","rebac_allow":false,"scope_allow":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":"5ffef460-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ffef460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling 200 12ms","method":"POST","requestID":"5ffef460-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OH0.-EAzTefoVaxJdBDtZ33zptWNoJza2en9hX5G2BVB9nk","level":"info","message":"auth send jwt","requestID":"3fc432a82f163db0e422fc00dda5420b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3fc432a82f163db0e422fc00dda5420b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7","requestID":"3fc432a82f163db0e422fc00dda5420b"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.03574,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"3fc432a82f163db0e422fc00dda5420b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849788,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OH0.-EAzTefoVaxJdBDtZ33zptWNoJza2en9hX5G2BVB9nk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3fc432a82f163db0e422fc00dda5420b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7","requestID":"3fc432a82f163db0e422fc00dda5420b"} experiment-1 | {"level":"info","message":"GET /experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7 200 13ms","method":"GET","requestID":"3fc432a82f163db0e422fc00dda5420b","responseTime":13,"status":200,"url":"/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"} gateway-1 | {"time_local":"28/Apr/2025:14:16:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3fc432a82f163db0e422fc00dda5420b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OH0.-EAzTefoVaxJdBDtZ33zptWNoJza2en9hX5G2BVB9nk","level":"info","message":"auth send jwt","requestID":"aeb1444476db0ebbcef9904642495d3b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aeb1444476db0ebbcef9904642495d3b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7","requestID":"aeb1444476db0ebbcef9904642495d3b"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.142292,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"aeb1444476db0ebbcef9904642495d3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849788,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OH0.-EAzTefoVaxJdBDtZ33zptWNoJza2en9hX5G2BVB9nk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aeb1444476db0ebbcef9904642495d3b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Attempting to finish experiment","requestID":"aeb1444476db0ebbcef9904642495d3b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"603aebf0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.226033,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"603aebf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849788,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OH0.-EAzTefoVaxJdBDtZ33zptWNoJza2en9hX5G2BVB9nk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"603aebf0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0","device":"4b84df28-c28b-4948-9217-6901edd7ff67","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"0834b301-5c4b-4cc2-96ff-812b459af0bf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0834b301-5c4b-4cc2-96ff-812b459af0bf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0834b301-5c4b-4cc2-96ff-812b459af0bf","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/f5fa0907-f905-480f-808a-fe73bf062ad0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f5fa0907-f905-480f-808a-fe73bf062ad0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6dd5ee858e36c6475e4745beba867b5b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"6dd5ee858e36c6475e4745beba867b5b","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/4b84df28-c28b-4948-9217-6901edd7ff67"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0"}}},"level":"info","message":"received a callback","requestID":"6dd5ee858e36c6475e4745beba867b5b"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f073ffacb981841a495ac6d6609cb72d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"f073ffacb981841a495ac6d6609cb72d","responseTime":1,"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":"connected","url":"http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0"}}},"level":"info","message":"received a callback","requestID":"f073ffacb981841a495ac6d6609cb72d"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff5fa0907-f905-480f-808a-fe73bf062ad0': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff5fa0907-f905-480f-808a-fe73bf062ad0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"fdb82caf-b2b3-43bd-85f3-71f212158f43","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.4890115} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e510cee3-eafc-498f-8fc3-5fc5c44b8210","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.489198} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"603aebf0-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"f5fa0907-f905-480f-808a-fe73bf062ad0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"603aebf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0 204 51ms","method":"DELETE","requestID":"603aebf0-243b-11f0-b067-2fe344ae06f8","responseTime":51,"status":204,"url":"/peerconnections/f5fa0907-f905-480f-808a-fe73bf062ad0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"},"level":"info","message":"Successfully finished experiment","requestID":"aeb1444476db0ebbcef9904642495d3b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6048f5b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4b84df28-c28b-4948-9217-6901edd7ff67","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ad69777-409d-4e3d-b494-ad85ed07a9ff","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.5603628} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.848958,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6048f5b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4b84df28-c28b-4948-9217-6901edd7ff67","object_type":"device","rebac_allow":false,"scope_allow":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":"6048f5b0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6048f5b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling 200 10ms","method":"POST","requestID":"6048f5b0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/4b84df28-c28b-4948-9217-6901edd7ff67/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d964cb7-ba33-400a-9e6e-2f4d017df9d7': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d964cb7-ba33-400a-9e6e-2f4d017df9d7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"06330d6b-deab-42c7-b2cf-3600a736a151","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.5668836} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"020a2137-5ec6-4a6d-a98f-5ed10f563437","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.5671551} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"604aca70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"aeb1444476db0ebbcef9904642495d3b","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0834b301-5c4b-4cc2-96ff-812b459af0bf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4133d54e-e77b-4384-82f2-2de13e3ab131","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.5964634} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.690584,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"604aca70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf","object_type":"device","rebac_allow":false,"scope_allow":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":"604aca70-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"604aca70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling 200 33ms","method":"POST","requestID":"604aca70-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/0834b301-5c4b-4cc2-96ff-812b459af0bf/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7","requestID":"aeb1444476db0ebbcef9904642495d3b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.221","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aeb1444476db0ebbcef9904642495d3b"} experiment-1 | {"level":"info","message":"DELETE /experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7 204 217ms","method":"DELETE","requestID":"aeb1444476db0ebbcef9904642495d3b","responseTime":217,"status":204,"url":"/experiments/3d964cb7-ba33-400a-9e6e-2f4d017df9d7"} gateway-1 | {"time_local":"28/Apr/2025:14:16:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2273","request_time":"4.484","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"015ca6915dc1f2f897c5d87c023f4737"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"6dd5ee858e36c6475e4745beba867b5b","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.187","http_referrer":"","http_user_agent":"node-fetch","requestID":"6dd5ee858e36c6475e4745beba867b5b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 183ms","method":"POST","requestID":"f073ffacb981841a495ac6d6609cb72d","responseTime":183,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.187","http_referrer":"","http_user_agent":"node-fetch","requestID":"f073ffacb981841a495ac6d6609cb72d"} gateway-1 | {"time_local":"28/Apr/2025:14:16:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"3.208","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":"1746de684706e0664137ca3778befa5d"} device-1 | {"level":"info","message":"postDevices called","requestID":"69a75b164b69feac74f29994cb97621d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OH0.-EAzTefoVaxJdBDtZ33zptWNoJza2en9hX5G2BVB9nk","level":"info","message":"auth send jwt","requestID":"69a75b164b69feac74f29994cb97621d"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"69a75b164b69feac74f29994cb97621d","responseTime":10,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.787105,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69a75b164b69feac74f29994cb97621d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849788,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OH0.-EAzTefoVaxJdBDtZ33zptWNoJza2en9hX5G2BVB9nk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"69a75b164b69feac74f29994cb97621d","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/0834b301-5c4b-4cc2-96ff-812b459af0bf' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4c9e0e54-4a1a-472e-809f-9ff02fd08449","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.705608} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69a75b164b69feac74f29994cb97621d","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/4b84df28-c28b-4948-9217-6901edd7ff67' 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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7f9b681-2249-4d9f-ae18-64a76e244ca9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.7109833} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"69a75b164b69feac74f29994cb97621d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"f340b9bc-7f76-45f2-ba0d-dde463229e9d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.7209446} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4849f924-5f3f-4cf2-897d-cf2bf5ed5f06","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.7216628} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"69a75b164b69feac74f29994cb97621d","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.720923047Z"}]},"request_id":"7a3fbc0b-4dff-49dc-a580-f4992f51ab22","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.726125} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69a75b164b69feac74f29994cb97621d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"69a75b164b69feac74f29994cb97621d"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"69a75b164b69feac74f29994cb97621d","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69a75b164b69feac74f29994cb97621d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OH0.-EAzTefoVaxJdBDtZ33zptWNoJza2en9hX5G2BVB9nk","level":"info","message":"auth send jwt","requestID":"2894a1764b53a0186807cec36aa9d89d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2894a1764b53a0186807cec36aa9d89d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2894a1764b53a0186807cec36aa9d89d"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.885573,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2894a1764b53a0186807cec36aa9d89d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849788,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OH0.-EAzTefoVaxJdBDtZ33zptWNoJza2en9hX5G2BVB9nk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2894a1764b53a0186807cec36aa9d89d","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3e1ef74f-d834-49e0-a7f1-5228fd4ba26f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.7501733} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2894a1764b53a0186807cec36aa9d89d","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b67c4a91-5258-4e15-99b0-c50572c911bf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.7548978} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2894a1764b53a0186807cec36aa9d89d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"3167da98-9970-419c-b0bb-036b04cb1485","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.7653935} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11cfb35c-fbcd-411a-88ff-503ddb33a08c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.7655296} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"2894a1764b53a0186807cec36aa9d89d","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.765374402Z"}]},"request_id":"c337a578-6e07-4485-bf34-9637a7788f9b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849788.7698052} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2894a1764b53a0186807cec36aa9d89d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2894a1764b53a0186807cec36aa9d89d"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2894a1764b53a0186807cec36aa9d89d"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"2894a1764b53a0186807cec36aa9d89d","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OX0.R0wOkfL_6Ta0f3LS8PfkYOqqYZ41xYc1yl1nLf-Ir2s","level":"info","message":"auth send jwt","requestID":"b246f9fb2b6daf167ebdccdbab49f37b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b246f9fb2b6daf167ebdccdbab49f37b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b246f9fb2b6daf167ebdccdbab49f37b"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96217,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b246f9fb2b6daf167ebdccdbab49f37b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849789,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OX0.R0wOkfL_6Ta0f3LS8PfkYOqqYZ41xYc1yl1nLf-Ir2s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b246f9fb2b6daf167ebdccdbab49f37b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.720923047Z"}]},"request_id":"0002b7fc-eef8-4c82-b764-b2a20a88fe6b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849789.6521604} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b246f9fb2b6daf167ebdccdbab49f37b","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb690531-3916-4c1f-883f-a5c9a582c78b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849789.6561964} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b246f9fb2b6daf167ebdccdbab49f37b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.720923047Z"}]},"request_id":"76556160-98ef-4eaa-b73f-38c8388c290c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849789.7036817} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b246f9fb2b6daf167ebdccdbab49f37b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b246f9fb2b6daf167ebdccdbab49f37b"} device-1 | {"level":"info","message":"PATCH /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294 200 86ms","method":"PATCH","requestID":"b246f9fb2b6daf167ebdccdbab49f37b","responseTime":86,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294"} gateway-1 | {"time_local":"28/Apr/2025:14:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.090","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b246f9fb2b6daf167ebdccdbab49f37b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OX0.R0wOkfL_6Ta0f3LS8PfkYOqqYZ41xYc1yl1nLf-Ir2s","level":"info","message":"auth send jwt","requestID":"14104379e81f359781ca9ed0fba9ca66"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"14104379e81f359781ca9ed0fba9ca66","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"14104379e81f359781ca9ed0fba9ca66"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:29Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.828773,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"14104379e81f359781ca9ed0fba9ca66","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849789,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc4OX0.R0wOkfL_6Ta0f3LS8PfkYOqqYZ41xYc1yl1nLf-Ir2s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"14104379e81f359781ca9ed0fba9ca66","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"14104379e81f359781ca9ed0fba9ca66"} gateway-1 | {"time_local":"28/Apr/2025:14:16:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/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.18","requestID":"14104379e81f359781ca9ed0fba9ca66"} device-1 | {"level":"info","message":"POST /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/websocket 200 13ms","method":"POST","requestID":"14104379e81f359781ca9ed0fba9ca66","responseTime":13,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"39329f87339274ccb842a35109ee8a18","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"39329f87339274ccb842a35109ee8a18","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/680607d0-264a-49a3-a978-3da7d452204f/websocket 200 1ms","method":"OPTIONS","requestID":"39329f87339274ccb842a35109ee8a18","responseTime":1,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/680607d0-264a-49a3-a978-3da7d452204f/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":"39329f87339274ccb842a35109ee8a18"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk","level":"info","message":"auth send jwt","requestID":"758a7d9fe81d32fb717522b5b8a38607"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"758a7d9fe81d32fb717522b5b8a38607","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"758a7d9fe81d32fb717522b5b8a38607"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.250759,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"758a7d9fe81d32fb717522b5b8a38607","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"758a7d9fe81d32fb717522b5b8a38607","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"758a7d9fe81d32fb717522b5b8a38607"} gateway-1 | {"time_local":"28/Apr/2025:14:16:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/680607d0-264a-49a3-a978-3da7d452204f/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":"758a7d9fe81d32fb717522b5b8a38607"} device-1 | {"level":"info","message":"POST /devices/680607d0-264a-49a3-a978-3da7d452204f/websocket 200 29ms","method":"POST","requestID":"758a7d9fe81d32fb717522b5b8a38607","responseTime":29,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk","level":"info","message":"auth send jwt","requestID":"031129a5a33be7b71a4e16e31888acb5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"031129a5a33be7b71a4e16e31888acb5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"031129a5a33be7b71a4e16e31888acb5"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698255,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"031129a5a33be7b71a4e16e31888acb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"031129a5a33be7b71a4e16e31888acb5","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.720923047Z"}]},"request_id":"26996be2-13d0-4ba4-a056-ecfafd649127","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.1223652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"031129a5a33be7b71a4e16e31888acb5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"031129a5a33be7b71a4e16e31888acb5"} gateway-1 | {"time_local":"28/Apr/2025:14:16:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294? 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":"031129a5a33be7b71a4e16e31888acb5"} device-1 | {"level":"info","message":"GET /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294? 200 11ms","method":"GET","requestID":"031129a5a33be7b71a4e16e31888acb5","responseTime":11,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk","level":"info","message":"auth send jwt","requestID":"11b8c5659c6c5955687c6017dfb0193b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11b8c5659c6c5955687c6017dfb0193b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"11b8c5659c6c5955687c6017dfb0193b"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92576,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"11b8c5659c6c5955687c6017dfb0193b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"11b8c5659c6c5955687c6017dfb0193b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.765374402Z"}]},"request_id":"00631e97-3224-465c-9116-3ffc32bd1661","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.1382356} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"11b8c5659c6c5955687c6017dfb0193b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"11b8c5659c6c5955687c6017dfb0193b"} device-1 | {"level":"info","message":"GET /devices/680607d0-264a-49a3-a978-3da7d452204f? 200 11ms","method":"GET","requestID":"11b8c5659c6c5955687c6017dfb0193b","responseTime":11,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/680607d0-264a-49a3-a978-3da7d452204f? 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":"11b8c5659c6c5955687c6017dfb0193b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk","level":"info","message":"auth send jwt","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"420bb8a2eeeb2bd388d19c1abac07a27","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.731829,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"420bb8a2eeeb2bd388d19c1abac07a27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"420bb8a2eeeb2bd388d19c1abac07a27","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Attempting to run experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Attempting to book experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Successfully booked experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61dbcab0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61dc18d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862504,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61dbcab0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"61dbcab0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41742","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41742","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850436,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61dc18d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"61dc18d0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.720923047Z"}]},"request_id":"ccf0cfb9-2b0d-4170-a719-240ac839efc8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.207222} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"61dbcab0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.765374402Z"}]},"request_id":"bd3e6d65-6460-4f6f-a56d-8199195c21fe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.2353747} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61dbcab0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"61dc18d0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294? 200 41ms","method":"GET","requestID":"61dbcab0-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61dc18d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/680607d0-264a-49a3-a978-3da7d452204f? 200 41ms","method":"GET","requestID":"61dc18d0-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Setting up experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Successfully set up experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61f211d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61f238e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61f25ff0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Successfully running experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} authorization-1 | {"client_addr":"127.0.0.1:41742","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41742","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926068,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61f211d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"61f211d0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.598902,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61f238e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"61f238e0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.720923047Z"}]},"request_id":"a6ad66c8-53c0-4d7b-8a33-b5bdd8ca7d88","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.3516393} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"61f211d0-243b-11f0-b067-2fe344ae06f8","responseTime":27,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.765374402Z"}]},"request_id":"ebcccf68-9707-488a-8634-7ad3d2e973cc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.376866} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"61f238e0-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b01fbdc0-9385-4b20-9256-defad6d582f3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.378442} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.778954,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61f25ff0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","rebac_allow":false,"scope_allow":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":"61f25ff0-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4607368a-0e1d-424e-9990-117e147d29b8#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4607368a-0e1d-424e-9990-117e147d29b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"048d9e2b-b4e0-493a-abe5-8146a35f93a8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.3809674} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c168c370-5760-4209-8a7f-ce0b220efd0b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.3811822} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61f211d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"420bb8a2eeeb2bd388d19c1abac07a27","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294? 200 42ms","method":"GET","requestID":"61f211d0-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61f238e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/680607d0-264a-49a3-a978-3da7d452204f? 200 42ms","method":"GET","requestID":"61f238e0-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61f25ff0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling 200 42ms","method":"POST","requestID":"61f25ff0-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61f93dc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61f964d0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43b63958-d512-4c27-b9ab-b4875f808e49","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.392582} gateway-1 | {"time_local":"28/Apr/2025:14:16:31 +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":"420bb8a2eeeb2bd388d19c1abac07a27"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.318114,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 246ms","method":"POST","requestID":"420bb8a2eeeb2bd388d19c1abac07a27","responseTime":246,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61f93dc0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","rebac_allow":false,"scope_allow":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":"61f93dc0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db7d9f3d-1a07-4a0f-a578-8ac0890f51f7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.3937511} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.819421,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk","level":"info","message":"auth send jwt","requestID":"01f1b21b85f5dd3bb5caffee71297df0"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61f964d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","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 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"01f1b21b85f5dd3bb5caffee71297df0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61f93dc0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"61f964d0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling 200 9ms","method":"POST","requestID":"61f93dc0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"01f1b21b85f5dd3bb5caffee71297df0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61fb3990-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61f964d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/680607d0-264a-49a3-a978-3da7d452204f/signaling 200 13ms","method":"POST","requestID":"61f964d0-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786745,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"01f1b21b85f5dd3bb5caffee71297df0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"01f1b21b85f5dd3bb5caffee71297df0","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1f0c8afc-f3ee-4141-88c1-f5a3dadec243","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.429018} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.713104,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61fb3990-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","object_type":"device","rebac_allow":false,"scope_allow":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":"61fb3990-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.720923047Z"}]},"request_id":"01e50cb3-cfc1-4fa1-ab99-b220fc581366","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.431299} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"01f1b21b85f5dd3bb5caffee71297df0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61fb3990-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/680607d0-264a-49a3-a978-3da7d452204f/signaling 200 34ms","method":"POST","requestID":"61fb3990-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"01f1b21b85f5dd3bb5caffee71297df0"} gateway-1 | {"time_local":"28/Apr/2025:14:16:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01f1b21b85f5dd3bb5caffee71297df0"} device-1 | {"level":"info","message":"GET /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294? 200 37ms","method":"GET","requestID":"01f1b21b85f5dd3bb5caffee71297df0","responseTime":37,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Building connection plan","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"bcb24137-e3e0-4c4b-beb2-2bc74e719899"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"f93a2ea9-a723-421d-80dc-bdbe8cdbfcf7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"0b894d0d-c4ee-4956-9236-d6d693112cd0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} 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/fc4eb58d-379d-47f8-9ca6-9a53dd62b294"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk","level":"info","message":"auth send jwt","requestID":"7be9370dfe8feef6a91076a32bdd9305"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7be9370dfe8feef6a91076a32bdd9305","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7be9370dfe8feef6a91076a32bdd9305"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.917338,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7be9370dfe8feef6a91076a32bdd9305","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849791,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5MX0.7Nld1XSjNsrCG08fNWE-zt_UDZ1OFOdRxetosIzK_yk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7be9370dfe8feef6a91076a32bdd9305","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:28.765374402Z"}]},"request_id":"6cf5be6d-f524-47df-bfaf-df9285531fda","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.4736478} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"7be9370dfe8feef6a91076a32bdd9305","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7be9370dfe8feef6a91076a32bdd9305"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"4646a021-8eb9-4811-9b6e-765a8f5a921b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.47725} gateway-1 | {"time_local":"28/Apr/2025:14:16:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/680607d0-264a-49a3-a978-3da7d452204f? 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":"7be9370dfe8feef6a91076a32bdd9305"} device-1 | {"level":"info","message":"GET /devices/680607d0-264a-49a3-a978-3da7d452204f? 200 36ms","method":"GET","requestID":"7be9370dfe8feef6a91076a32bdd9305","responseTime":36,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86a0a0bf-ead2-454e-9c69-eef577c990b2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.4774916} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201'","requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201'","requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 84ms","method":"POST","requestID":"6200dee0-243b-11f0-b067-2fe344ae06f8","responseTime":84,"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":"6200dee0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201","device":"680607d0-264a-49a3-a978-3da7d452204f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"420bb8a2eeeb2bd388d19c1abac07a27"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"62155140-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6cdbd52-6362-4718-a611-d6775f530b6c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.577255} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.678298,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} device-1 | {"device":"680607d0-264a-49a3-a978-3da7d452204f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"62155140-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","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 | {"content":{"canTrickle":true},"device":"680607d0-264a-49a3-a978-3da7d452204f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"62155140-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"62155140-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling 200 11ms","method":"POST","requestID":"62155140-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8138209380653986852 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:1o47\r\na=ice-pwd:1LtD9ARdmtsbDkGDIqGR4taV\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B7:E5:04:3C:C3:77:B2:6D:6E:FE:A0:90:77:7A:66:9D:EE:76:67:C1:16:ED:BF:88:52:A7:F8:0D:9A:22:C9:4B\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"680607d0-264a-49a3-a978-3da7d452204f","deviceName":"JS Device 2","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/680607d0-264a-49a3-a978-3da7d452204f'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"62177420-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79f40c53-26a5-42b6-bff5-6427fb085f20","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849791.5903666} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.094824,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"62177420-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","object_type":"device","rebac_allow":false,"scope_allow":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":"62177420-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"62177420-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/680607d0-264a-49a3-a978-3da7d452204f/signaling 200 9ms","method":"POST","requestID":"62177420-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f/signaling"} device-1 | {"device":"680607d0-264a-49a3-a978-3da7d452204f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"4b09b73e-5712-48c4-99bc-bddcd08f0201","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/4b09b73e-5712-48c4-99bc-bddcd08f0201' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4b09b73e-5712-48c4-99bc-bddcd08f0201","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5497bc9b4f1183176b89114cce961884","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"5497bc9b4f1183176b89114cce961884","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201"}}},"level":"info","message":"received a callback","requestID":"5497bc9b4f1183176b89114cce961884"} device-1 | {"content":{"candidate":"candidate:1916126167 1 udp 2113937151 68329b2a-28b9-4a49-855f-c29dff1fb3ab.local 41046 typ host generation 0 ufrag 1o47 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"680607d0-264a-49a3-a978-3da7d452204f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"680607d0-264a-49a3-a978-3da7d452204f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"5497bc9b4f1183176b89114cce961884","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"5497bc9b4f1183176b89114cce961884"} device-1 | {"data":{"peerconnection":"4b09b73e-5712-48c4-99bc-bddcd08f0201","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"680607d0-264a-49a3-a978-3da7d452204f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"4b09b73e-5712-48c4-99bc-bddcd08f0201","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/4b09b73e-5712-48c4-99bc-bddcd08f0201' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4b09b73e-5712-48c4-99bc-bddcd08f0201","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e5a2bd13a5c38d5c80bc6be9a97738b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"e5a2bd13a5c38d5c80bc6be9a97738b9","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/fc4eb58d-379d-47f8-9ca6-9a53dd62b294"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201"}}},"level":"info","message":"received a callback","requestID":"e5a2bd13a5c38d5c80bc6be9a97738b9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6358f4d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4b09b73e-5712-48c4-99bc-bddcd08f0201","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7c50de2-1b53-4ac3-8fe7-2d372e69365d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849793.698803} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.803888,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6358f4d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201","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":"6358f4d0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6358f4d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201 200 10ms","method":"GET","requestID":"6358f4d0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"e5a2bd13a5c38d5c80bc6be9a97738b9","responseTime":56,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"e5a2bd13a5c38d5c80bc6be9a97738b9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6360e410-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c993f414-4dda-4ff7-8fab-3ee4176f84a4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849793.7495718} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668498,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6360e410-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","rebac_allow":false,"scope_allow":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":"6360e410-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6360e410-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling 200 33ms","method":"POST","requestID":"6360e410-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"63666250-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f35108b6-f736-4363-b9b1-3b47e2130d7f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849793.7864697} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.523611,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"63666250-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","object_type":"device","rebac_allow":false,"scope_allow":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":"63666250-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"63666250-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/680607d0-264a-49a3-a978-3da7d452204f/signaling 200 9ms","method":"POST","requestID":"63666250-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5M30.Bacds19vFJ7_CU3czEElDtAcuSu-SO756YMBR7XEPVM","level":"info","message":"auth send jwt","requestID":"f6dee1de76ac06d8a6ca63c18498c6a6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f6dee1de76ac06d8a6ca63c18498c6a6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4607368a-0e1d-424e-9990-117e147d29b8","requestID":"f6dee1de76ac06d8a6ca63c18498c6a6"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.430415,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f6dee1de76ac06d8a6ca63c18498c6a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849793,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5M30.Bacds19vFJ7_CU3czEElDtAcuSu-SO756YMBR7XEPVM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f6dee1de76ac06d8a6ca63c18498c6a6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4607368a-0e1d-424e-9990-117e147d29b8","requestID":"f6dee1de76ac06d8a6ca63c18498c6a6"} gateway-1 | {"time_local":"28/Apr/2025:14:16:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4607368a-0e1d-424e-9990-117e147d29b8 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6dee1de76ac06d8a6ca63c18498c6a6"} experiment-1 | {"level":"info","message":"GET /experiments/4607368a-0e1d-424e-9990-117e147d29b8 200 15ms","method":"GET","requestID":"f6dee1de76ac06d8a6ca63c18498c6a6","responseTime":15,"status":200,"url":"/experiments/4607368a-0e1d-424e-9990-117e147d29b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5M30.Bacds19vFJ7_CU3czEElDtAcuSu-SO756YMBR7XEPVM","level":"info","message":"auth send jwt","requestID":"6b2104984fc8c93af6e1b8292b5c24ab"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b2104984fc8c93af6e1b8292b5c24ab","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4607368a-0e1d-424e-9990-117e147d29b8","requestID":"6b2104984fc8c93af6e1b8292b5c24ab"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.357011,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6b2104984fc8c93af6e1b8292b5c24ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849793,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5M30.Bacds19vFJ7_CU3czEElDtAcuSu-SO756YMBR7XEPVM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6b2104984fc8c93af6e1b8292b5c24ab","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Attempting to finish experiment","requestID":"6b2104984fc8c93af6e1b8292b5c24ab"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"637ecc50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.773195,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:33Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"637ecc50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849793,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5M30.Bacds19vFJ7_CU3czEElDtAcuSu-SO756YMBR7XEPVM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"637ecc50-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"fc4eb58d-379d-47f8-9ca6-9a53dd62b294","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/4b09b73e-5712-48c4-99bc-bddcd08f0201' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4b09b73e-5712-48c4-99bc-bddcd08f0201","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} 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/fc4eb58d-379d-47f8-9ca6-9a53dd62b294"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201"}}},"level":"info","message":"received a callback","requestID":"393a6786ac8bac55c6a700f723fc2b6d"} 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/fc4eb58d-379d-47f8-9ca6-9a53dd62b294"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201"}}},"level":"info","message":"received a callback","requestID":"4baea5d693f3831bc72a64b4851a6574"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"393a6786ac8bac55c6a700f723fc2b6d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"393a6786ac8bac55c6a700f723fc2b6d","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4baea5d693f3831bc72a64b4851a6574","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4baea5d693f3831bc72a64b4851a6574","responseTime":0,"status":200,"url":"/auth"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201","device":"680607d0-264a-49a3-a978-3da7d452204f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4b09b73e-5712-48c4-99bc-bddcd08f0201': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4b09b73e-5712-48c4-99bc-bddcd08f0201","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"0a1fd2bf-fa84-484e-b152-c1eaba8f5c6f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849793.9723587} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61d3e633-86b1-4748-863c-e0f0f2951136","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849793.9726279} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"637ecc50-243b-11f0-b067-2fe344ae06f8","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"4b09b73e-5712-48c4-99bc-bddcd08f0201","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"637ecc50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201 204 47ms","method":"DELETE","requestID":"637ecc50-243b-11f0-b067-2fe344ae06f8","responseTime":47,"status":204,"url":"/peerconnections/4b09b73e-5712-48c4-99bc-bddcd08f0201"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4607368a-0e1d-424e-9990-117e147d29b8"},"level":"info","message":"Successfully finished experiment","requestID":"6b2104984fc8c93af6e1b8292b5c24ab"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"638b9d90-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:34Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc4eb58d-379d-47f8-9ca6-9a53dd62b294","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a35e8950-5d37-41a9-990c-0ee1900fb41b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.0293438} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.369713,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"638b9d90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294","object_type":"device","rebac_allow":false,"scope_allow":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":"638b9d90-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"638b9d90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling 200 8ms","method":"POST","requestID":"638b9d90-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"638d2430-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4607368a-0e1d-424e-9990-117e147d29b8': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4607368a-0e1d-424e-9990-117e147d29b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"cec1791e-2028-4899-bee4-d6517bf8d8ca","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.037473} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83486e38-91ec-4c53-8aa0-f634da69be1d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.0377157} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"6b2104984fc8c93af6e1b8292b5c24ab","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:34Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F680607d0-264a-49a3-a978-3da7d452204f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f35ef30-a303-4ab2-a8d2-114b5dcf681b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.0401244} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.21017,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"638d2430-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/680607d0-264a-49a3-a978-3da7d452204f","object_type":"device","rebac_allow":false,"scope_allow":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":"638d2430-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"638d2430-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/680607d0-264a-49a3-a978-3da7d452204f/signaling 200 33ms","method":"POST","requestID":"638d2430-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/680607d0-264a-49a3-a978-3da7d452204f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4607368a-0e1d-424e-9990-117e147d29b8","requestID":"6b2104984fc8c93af6e1b8292b5c24ab"} gateway-1 | {"time_local":"28/Apr/2025:14:16:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4607368a-0e1d-424e-9990-117e147d29b8 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":"6b2104984fc8c93af6e1b8292b5c24ab"} experiment-1 | {"level":"info","message":"DELETE /experiments/4607368a-0e1d-424e-9990-117e147d29b8 204 210ms","method":"DELETE","requestID":"6b2104984fc8c93af6e1b8292b5c24ab","responseTime":210,"status":204,"url":"/experiments/4607368a-0e1d-424e-9990-117e147d29b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NH0._juxv44Y8ai2gR-KnMlgNaGFk90LFWtbqsyZnBKdWPk","level":"info","message":"auth send jwt","requestID":"319e6f5438f3a32931c8f8ddc750ba62"} gateway-1 | {"time_local":"28/Apr/2025:14:16:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"4.392","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ac583cfe9c4bd365a11e4c93ec8aa992"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"319e6f5438f3a32931c8f8ddc750ba62","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"393a6786ac8bac55c6a700f723fc2b6d","responseTime":186,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"319e6f5438f3a32931c8f8ddc750ba62"} gateway-1 | {"time_local":"28/Apr/2025:14:16:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch","requestID":"393a6786ac8bac55c6a700f723fc2b6d"} gateway-1 | {"time_local":"28/Apr/2025:14:16:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"4baea5d693f3831bc72a64b4851a6574"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 185ms","method":"POST","requestID":"4baea5d693f3831bc72a64b4851a6574","responseTime":185,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:34Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.685206,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"319e6f5438f3a32931c8f8ddc750ba62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849794,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NH0._juxv44Y8ai2gR-KnMlgNaGFk90LFWtbqsyZnBKdWPk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"319e6f5438f3a32931c8f8ddc750ba62","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:14:16:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2527","request_time":"3.067","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":"7ab9745e22b11bbcc8cc68f10b0e3b3d"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fc4eb58d-379d-47f8-9ca6-9a53dd62b294' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"45eef10e-d34d-4314-bdce-2b58e6d900ca","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.1830766} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"319e6f5438f3a32931c8f8ddc750ba62","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31dacf0c-4ac6-49f1-b5d7-87bfb8ef9e36","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.1874516} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"319e6f5438f3a32931c8f8ddc750ba62","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/680607d0-264a-49a3-a978-3da7d452204f' closed"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"853a3ffc-69a0-453d-84ac-a67f637e0ff7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.1969957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9390d2ae-dec2-40cb-a6b8-620f0bdb3bdd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.1971931} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"319e6f5438f3a32931c8f8ddc750ba62","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.196971172Z"}]},"request_id":"eaed986c-b8a0-44df-9737-d3afe3b2bcaa","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.2013292} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"319e6f5438f3a32931c8f8ddc750ba62","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"319e6f5438f3a32931c8f8ddc750ba62"} gateway-1 | {"time_local":"28/Apr/2025:14:16:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"319e6f5438f3a32931c8f8ddc750ba62"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"319e6f5438f3a32931c8f8ddc750ba62","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NH0._juxv44Y8ai2gR-KnMlgNaGFk90LFWtbqsyZnBKdWPk","level":"info","message":"auth send jwt","requestID":"7f517d768eb645f517716924c7c5d593"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7f517d768eb645f517716924c7c5d593","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7f517d768eb645f517716924c7c5d593"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:34Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.752387,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7f517d768eb645f517716924c7c5d593","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849794,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NH0._juxv44Y8ai2gR-KnMlgNaGFk90LFWtbqsyZnBKdWPk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7f517d768eb645f517716924c7c5d593","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1b15ea96-0610-4f1e-b710-4016f3546b76","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.2230704} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7f517d768eb645f517716924c7c5d593","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8aad8693-e949-4edb-83ab-71832e431ef0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.2275815} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7f517d768eb645f517716924c7c5d593","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"36607f53-6707-45e6-b025-44b13bbd4b0c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.2397368} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acf9dee9-4f33-4bb2-8d87-5f6598189122","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.2399056} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"7f517d768eb645f517716924c7c5d593","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.239720397Z"}]},"request_id":"d1a8b79a-32fd-42b1-9db5-36d88884b487","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849794.2593632} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7f517d768eb645f517716924c7c5d593","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7f517d768eb645f517716924c7c5d593"} gateway-1 | {"time_local":"28/Apr/2025:14:16:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f517d768eb645f517716924c7c5d593"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"7f517d768eb645f517716924c7c5d593","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c","level":"info","message":"auth send jwt","requestID":"dd990d4cacbec575fdd4a624e1e10de7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd990d4cacbec575fdd4a624e1e10de7","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c","level":"info","message":"auth send jwt","requestID":"5413713debe94ab41acea8dc3afa8cc8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5413713debe94ab41acea8dc3afa8cc8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"dd990d4cacbec575fdd4a624e1e10de7"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5413713debe94ab41acea8dc3afa8cc8"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658591,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"dd990d4cacbec575fdd4a624e1e10de7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dd990d4cacbec575fdd4a624e1e10de7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.811366,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5413713debe94ab41acea8dc3afa8cc8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5413713debe94ab41acea8dc3afa8cc8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.239720397Z"}]},"request_id":"e368bb6d-1192-449b-bef3-6daf87919189","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.1368463} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd990d4cacbec575fdd4a624e1e10de7","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.196971172Z"}]},"request_id":"dd09f229-d3a6-4798-8ac9-4048d7b0ed7f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.1377318} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5413713debe94ab41acea8dc3afa8cc8","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f42b472-01d7-45c0-b28f-38528b12ad2a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.1418533} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"dd990d4cacbec575fdd4a624e1e10de7","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20f6f7e9-d727-40a7-880a-d6e6a8766b71","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.1431878} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5413713debe94ab41acea8dc3afa8cc8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.196971172Z"}]},"request_id":"5ce37005-200a-48aa-b79f-b36f1f2c4113","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.1702108} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"5413713debe94ab41acea8dc3afa8cc8","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5413713debe94ab41acea8dc3afa8cc8"} device-1 | {"level":"info","message":"PATCH /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6 200 44ms","method":"PATCH","requestID":"5413713debe94ab41acea8dc3afa8cc8","responseTime":44,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6"} gateway-1 | {"time_local":"28/Apr/2025:14:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5413713debe94ab41acea8dc3afa8cc8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c","level":"info","message":"auth send jwt","requestID":"7ec46d2dde2bb8f6358666f2ffbb1bf5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ec46d2dde2bb8f6358666f2ffbb1bf5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7ec46d2dde2bb8f6358666f2ffbb1bf5"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135352,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ec46d2dde2bb8f6358666f2ffbb1bf5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7ec46d2dde2bb8f6358666f2ffbb1bf5","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.239720397Z"}]},"request_id":"373aa9ff-7dd6-41b3-bb57-ca0746f02505","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.1937633} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd990d4cacbec575fdd4a624e1e10de7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"dd990d4cacbec575fdd4a624e1e10de7"} device-1 | {"level":"info","message":"PATCH /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a 200 69ms","method":"PATCH","requestID":"dd990d4cacbec575fdd4a624e1e10de7","responseTime":69,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a"} gateway-1 | {"time_local":"28/Apr/2025:14:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.074","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"dd990d4cacbec575fdd4a624e1e10de7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c","level":"info","message":"auth send jwt","requestID":"11656267c29f02eadbc86af32c54d2ca"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11656267c29f02eadbc86af32c54d2ca","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"11656267c29f02eadbc86af32c54d2ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7ec46d2dde2bb8f6358666f2ffbb1bf5"} device-1 | {"level":"info","message":"POST /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/websocket 200 46ms","method":"POST","requestID":"7ec46d2dde2bb8f6358666f2ffbb1bf5","responseTime":46,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/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.18","requestID":"7ec46d2dde2bb8f6358666f2ffbb1bf5"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757504,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"11656267c29f02eadbc86af32c54d2ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"11656267c29f02eadbc86af32c54d2ca","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"11656267c29f02eadbc86af32c54d2ca"} gateway-1 | {"time_local":"28/Apr/2025:14:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/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.18","requestID":"11656267c29f02eadbc86af32c54d2ca"} device-1 | {"level":"info","message":"POST /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/websocket 200 14ms","method":"POST","requestID":"11656267c29f02eadbc86af32c54d2ca","responseTime":14,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c","level":"info","message":"auth send jwt","requestID":"0599efd44f9b44abe65b9b0397fabf63"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0599efd44f9b44abe65b9b0397fabf63","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0599efd44f9b44abe65b9b0397fabf63"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703844,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0599efd44f9b44abe65b9b0397fabf63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0599efd44f9b44abe65b9b0397fabf63","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.196971172Z"}]},"request_id":"3cc5f359-0b9a-4286-8355-b1533fda9307","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.2863443} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0599efd44f9b44abe65b9b0397fabf63","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0599efd44f9b44abe65b9b0397fabf63"} device-1 | {"level":"info","message":"GET /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6? 200 33ms","method":"GET","requestID":"0599efd44f9b44abe65b9b0397fabf63","responseTime":33,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6? 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":"0599efd44f9b44abe65b9b0397fabf63"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c","level":"info","message":"auth send jwt","requestID":"e0439a9e671acca6dfbdcaad6de867a1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e0439a9e671acca6dfbdcaad6de867a1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0439a9e671acca6dfbdcaad6de867a1"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741287,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e0439a9e671acca6dfbdcaad6de867a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e0439a9e671acca6dfbdcaad6de867a1","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.239720397Z"}]},"request_id":"f66f4173-85b2-4f0f-b026-41aa65ac4e7f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.32413} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e0439a9e671acca6dfbdcaad6de867a1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0439a9e671acca6dfbdcaad6de867a1"} device-1 | {"level":"info","message":"GET /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a? 200 10ms","method":"GET","requestID":"e0439a9e671acca6dfbdcaad6de867a1","responseTime":10,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a? 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":"e0439a9e671acca6dfbdcaad6de867a1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c","level":"info","message":"auth send jwt","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b1a7948a2c4d4182774e9c9beaf0e145","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.731078,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b1a7948a2c4d4182774e9c9beaf0e145","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"b1a7948a2c4d4182774e9c9beaf0e145","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Attempting to run experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Attempting to book experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Successfully booked experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"645fb670-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"645fdd80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.60537,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"645fb670-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"645fb670-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838428,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"645fdd80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"645fdd80-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.196971172Z"}]},"request_id":"39b38be7-6189-4a80-9cff-79a247f69468","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.4219751} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"645fb670-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.239720397Z"}]},"request_id":"a2c9552b-adb4-4e02-8120-37c67ab67c3a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.422536} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"645fdd80-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"645fb670-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6? 200 11ms","method":"GET","requestID":"645fb670-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"645fdd80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a? 200 10ms","method":"GET","requestID":"645fdd80-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Setting up experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Successfully set up experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"646e8380-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"646eaa90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"646ed1a0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Successfully running experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90294,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"646e8380-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"646e8380-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960195,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"646eaa90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"646eaa90-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1744f4cd-3a51-4c97-9091-c70103fc0c7f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.5206726} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.693191,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"646ed1a0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","rebac_allow":false,"scope_allow":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":"646ed1a0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.196971172Z"}]},"request_id":"9f0ed7a2-0fda-4cef-ba78-a8087f53108b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.5229192} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"646ed1a0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"646e8380-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.239720397Z"}]},"request_id":"0718a25a-1efd-4354-8635-0fdee2bba017","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.52514} device-1 | {"level":"info","message":"POST /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling 200 11ms","method":"POST","requestID":"646ed1a0-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"646eaa90-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6470f480-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"646e8380-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6? 200 43ms","method":"GET","requestID":"646e8380-243b-11f0-b067-2fe344ae06f8","responseTime":43,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"646eaa90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a? 200 42ms","method":"GET","requestID":"646eaa90-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a?"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cd74fbd-99f3-4d65-aaa0-551052bad00c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.556281} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5765d00e-a635-44f4-a4bb-79336de6420b#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5765d00e-a635-44f4-a4bb-79336de6420b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"9f81cd3d-a170-45ea-9e98-4e702ec9967f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.5566938} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2089d51-3849-4b9c-adf3-24bdaf555ce7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.5570922} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.962935,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64758860-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6470f480-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","rebac_allow":false,"scope_allow":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":"6470f480-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"b1a7948a2c4d4182774e9c9beaf0e145","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6470f480-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} device-1 | {"level":"info","message":"POST /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/signaling 200 33ms","method":"POST","requestID":"6470f480-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f105a629-b910-490e-9982-91fc7ceb79a9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.5634692} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.622453,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"64758860-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","rebac_allow":false,"scope_allow":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":"64758860-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} gateway-1 | {"time_local":"28/Apr/2025:14:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.239","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"level":"info","message":"POST /experiments? 201 235ms","method":"POST","requestID":"b1a7948a2c4d4182774e9c9beaf0e145","responseTime":235,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64758860-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling 200 10ms","method":"POST","requestID":"64758860-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64775d20-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c","level":"info","message":"auth send jwt","requestID":"ac114739d062dcfaebd4c37388009079"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ac114739d062dcfaebd4c37388009079","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ac114739d062dcfaebd4c37388009079"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db4bf799-480d-4237-9278-7515bf957d5d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.575097} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41754","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.000812,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271301,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"64775d20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","rebac_allow":false,"scope_allow":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":"64775d20-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"ac114739d062dcfaebd4c37388009079","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"ac114739d062dcfaebd4c37388009079","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64775d20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/signaling 200 34ms","method":"POST","requestID":"64775d20-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.196971172Z"}]},"request_id":"e93c886e-96c4-40a9-90dd-9ec6b10c9c21","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.6054232} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ac114739d062dcfaebd4c37388009079","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Building connection plan","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"9c5da16d-2690-4b74-971a-c0981eee9c6d"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"ec9bbfb8-956a-4f5a-a57e-9c4072e6c877"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"8f23cd20-78a0-448c-9323-bf37cf382556"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} 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/4309bd3b-107e-4e7d-b3ac-f93896417b3a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"647d2980-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ac114739d062dcfaebd4c37388009079"} gateway-1 | {"time_local":"28/Apr/2025:14:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6? 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":"ac114739d062dcfaebd4c37388009079"} device-1 | {"level":"info","message":"GET /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6? 200 38ms","method":"GET","requestID":"ac114739d062dcfaebd4c37388009079","responseTime":38,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6?"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.775788,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"647d2980-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"647d2980-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c","level":"info","message":"auth send jwt","requestID":"42fa64cfcfd96b48b7c7938bd5859536"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"42fa64cfcfd96b48b7c7938bd5859536","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"42fa64cfcfd96b48b7c7938bd5859536"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897921,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"42fa64cfcfd96b48b7c7938bd5859536","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849795,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5NX0.K521bIzSzaUWlan9_PVg6Y0D77YBwLICrJIMlGxRk4c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"42fa64cfcfd96b48b7c7938bd5859536","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"7a900f9c-d01e-4e3b-9aa1-b08b82918898","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.6210144} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b5f968f-7e74-4b75-9df8-bbefcb365dbe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.6212342} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"647d2980-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:34.239720397Z"}]},"request_id":"96fbd66c-527b-43b8-ba58-dc0aab9abbee","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.6244211} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"42fa64cfcfd96b48b7c7938bd5859536","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"647d2980-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"647d2980-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38'","requestID":"647d2980-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"42fa64cfcfd96b48b7c7938bd5859536"} device-1 | {"level":"info","message":"GET /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a? 200 60ms","method":"GET","requestID":"42fa64cfcfd96b48b7c7938bd5859536","responseTime":60,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42fa64cfcfd96b48b7c7938bd5859536"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38'","requestID":"647d2980-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"647d2980-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 68ms","method":"POST","requestID":"647d2980-243b-11f0-b067-2fe344ae06f8","responseTime":68,"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":"647d2980-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b1a7948a2c4d4182774e9c9beaf0e145"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"648d7d30-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1e05304-d21e-43d0-ab52-c23e53d8675b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.7196076} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.342427,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"648d7d30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","rebac_allow":false,"scope_allow":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":"648d7d30-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"648d7d30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling 200 8ms","method":"POST","requestID":"648d7d30-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"648f03d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"776f3c1a-ea12-4ca1-83fe-e2c5742ffdc3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849795.7292562} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.195738,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"648f03d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","rebac_allow":false,"scope_allow":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":"648f03d0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"648f03d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/signaling 200 8ms","method":"POST","requestID":"648f03d0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/signaling"} device-1 | {"device":"78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"0fbbf519-ef89-44e7-a6c0-c99f1055fa38","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"0fbbf519-ef89-44e7-a6c0-c99f1055fa38","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/0fbbf519-ef89-44e7-a6c0-c99f1055fa38' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0fbbf519-ef89-44e7-a6c0-c99f1055fa38","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1d52e0a055a652fd141aaafd739b1bf8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"1d52e0a055a652fd141aaafd739b1bf8","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/4309bd3b-107e-4e7d-b3ac-f93896417b3a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38"}}},"level":"info","message":"received a callback","requestID":"1d52e0a055a652fd141aaafd739b1bf8"} device-1 | {"device":"78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"1d52e0a055a652fd141aaafd739b1bf8","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"1d52e0a055a652fd141aaafd739b1bf8"} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"0fbbf519-ef89-44e7-a6c0-c99f1055fa38","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"0fbbf519-ef89-44e7-a6c0-c99f1055fa38","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/0fbbf519-ef89-44e7-a6c0-c99f1055fa38' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0fbbf519-ef89-44e7-a6c0-c99f1055fa38","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"524728c7b27814da027552c2eafa7ba8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"524728c7b27814da027552c2eafa7ba8","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/4309bd3b-107e-4e7d-b3ac-f93896417b3a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38"}}},"level":"info","message":"received a callback","requestID":"524728c7b27814da027552c2eafa7ba8"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"65c9a6b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:37Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0fbbf519-ef89-44e7-a6c0-c99f1055fa38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df145900-d6f6-4754-b9af-b5e9d749be67","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849797.7915695} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.919827,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"65c9a6b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38","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":"65c9a6b0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"65c9a6b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38 200 8ms","method":"GET","requestID":"65c9a6b0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"524728c7b27814da027552c2eafa7ba8","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"524728c7b27814da027552c2eafa7ba8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"65cdec70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:37Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"969b8c06-4d71-4a65-8c58-86576db4562a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849797.8199532} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668965,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"65cdec70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","rebac_allow":false,"scope_allow":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":"65cdec70-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"65cdec70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/signaling 200 9ms","method":"POST","requestID":"65cdec70-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"65cf9a20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:37Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"735652e3-006d-4962-8681-a9c613ad923e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849797.8310955} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.339134,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"65cf9a20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","rebac_allow":false,"scope_allow":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":"65cf9a20-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"65cf9a20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling 200 33ms","method":"POST","requestID":"65cf9a20-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5OH0.JdZgWp2gvpi5_cnAZ1DD5dtDTBAWwE5HKZs4iCN6IYY","level":"info","message":"auth send jwt","requestID":"f814eff50e55d9ae79a7ff51e9ec1d26"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f814eff50e55d9ae79a7ff51e9ec1d26","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5765d00e-a635-44f4-a4bb-79336de6420b","requestID":"f814eff50e55d9ae79a7ff51e9ec1d26"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.674841,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f814eff50e55d9ae79a7ff51e9ec1d26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849798,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5OH0.JdZgWp2gvpi5_cnAZ1DD5dtDTBAWwE5HKZs4iCN6IYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f814eff50e55d9ae79a7ff51e9ec1d26","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5765d00e-a635-44f4-a4bb-79336de6420b","requestID":"f814eff50e55d9ae79a7ff51e9ec1d26"} gateway-1 | {"time_local":"28/Apr/2025:14:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5765d00e-a635-44f4-a4bb-79336de6420b HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f814eff50e55d9ae79a7ff51e9ec1d26"} experiment-1 | {"level":"info","message":"GET /experiments/5765d00e-a635-44f4-a4bb-79336de6420b 200 10ms","method":"GET","requestID":"f814eff50e55d9ae79a7ff51e9ec1d26","responseTime":10,"status":200,"url":"/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5OH0.JdZgWp2gvpi5_cnAZ1DD5dtDTBAWwE5HKZs4iCN6IYY","level":"info","message":"auth send jwt","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5765d00e-a635-44f4-a4bb-79336de6420b","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.392116,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"111a8b825c6472c8d0dbd5cbba4d17aa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849798,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5OH0.JdZgWp2gvpi5_cnAZ1DD5dtDTBAWwE5HKZs4iCN6IYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Attempting to finish experiment","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"65eebae0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.70513,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"65eebae0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849798,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5OH0.JdZgWp2gvpi5_cnAZ1DD5dtDTBAWwE5HKZs4iCN6IYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"65eebae0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4309bd3b-107e-4e7d-b3ac-f93896417b3a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/0fbbf519-ef89-44e7-a6c0-c99f1055fa38' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0fbbf519-ef89-44e7-a6c0-c99f1055fa38","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0fbbf519-ef89-44e7-a6c0-c99f1055fa38': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0fbbf519-ef89-44e7-a6c0-c99f1055fa38","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"91380694-238a-46fa-898f-47bf71afcdd0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.0449293} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"73b05af5cc8dfcea89893ee25555528a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e938ffa-14a9-484a-a19e-69c63a6c5b79","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.0453267} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"73b05af5cc8dfcea89893ee25555528a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"65eebae0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"13b167b2e8836865913fab784785e9b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"13b167b2e8836865913fab784785e9b9","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/4309bd3b-107e-4e7d-b3ac-f93896417b3a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38"}}},"level":"info","message":"received a callback","requestID":"73b05af5cc8dfcea89893ee25555528a"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38"}}},"level":"info","message":"received a callback","requestID":"13b167b2e8836865913fab784785e9b9"} device-1 | {"data":{"peerconnection":"0fbbf519-ef89-44e7-a6c0-c99f1055fa38","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"65eebae0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38 204 37ms","method":"DELETE","requestID":"65eebae0-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":204,"url":"/peerconnections/0fbbf519-ef89-44e7-a6c0-c99f1055fa38"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"},"level":"info","message":"Successfully finished experiment","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"65f6aa20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4309bd3b-107e-4e7d-b3ac-f93896417b3a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77b0cf9e-9354-4923-8e0f-2536dd352462","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.087636} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.63812,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"65f6aa20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a","object_type":"device","rebac_allow":false,"scope_allow":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":"65f6aa20-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"65f6aa20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/signaling 200 9ms","method":"POST","requestID":"65f6aa20-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/4309bd3b-107e-4e7d-b3ac-f93896417b3a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"65f857d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5765d00e-a635-44f4-a4bb-79336de6420b': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5765d00e-a635-44f4-a4bb-79336de6420b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"79452e5b-9570-4664-a207-edaca8b6ad5c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.0952249} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63472fd2-6359-4ffa-8c5c-68875e406015","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.095486} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c038d55-de30-42af-b734-802b4b2e31c9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.0975072} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.189159,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"65f857d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6","object_type":"device","rebac_allow":false,"scope_allow":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":"65f857d0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"65f857d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling 200 10ms","method":"POST","requestID":"65f857d0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5765d00e-a635-44f4-a4bb-79336de6420b","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa"} gateway-1 | {"time_local":"28/Apr/2025:14:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5765d00e-a635-44f4-a4bb-79336de6420b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa"} experiment-1 | {"level":"info","message":"DELETE /experiments/5765d00e-a635-44f4-a4bb-79336de6420b 204 151ms","method":"DELETE","requestID":"111a8b825c6472c8d0dbd5cbba4d17aa","responseTime":151,"status":204,"url":"/experiments/5765d00e-a635-44f4-a4bb-79336de6420b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"2.968","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"577281e98710924ec29b612caf2e4bcf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"73b05af5cc8dfcea89893ee25555528a","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"2.955","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"800622b54c256b05d733064269f0f657"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"73b05af5cc8dfcea89893ee25555528a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"13b167b2e8836865913fab784785e9b9","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"13b167b2e8836865913fab784785e9b9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5OH0.JdZgWp2gvpi5_cnAZ1DD5dtDTBAWwE5HKZs4iCN6IYY","level":"info","message":"auth send jwt","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10","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/78d5e08b-9321-4443-a1cf-16c7cdfbd0f6' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.906268,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849798,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5OH0.JdZgWp2gvpi5_cnAZ1DD5dtDTBAWwE5HKZs4iCN6IYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10","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/4309bd3b-107e-4e7d-b3ac-f93896417b3a' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e3a8dc38-493a-4b96-8b0d-bb04f65862d2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.2428145} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10","responseTime":28,"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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"278fbf52-709f-49cd-b91e-bc49b239a44b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.2481794} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"d1a44b65-f4b6-4e40-ae6c-971f52660597","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.2572713} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7c24677-4fcb-47a8-a06a-002f58cb825d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.2573972} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.257242404Z"}]},"request_id":"7f564079-eb53-4180-9e75-318a523a3345","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.2623253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10"} gateway-1 | {"time_local":"28/Apr/2025:14:16:38 +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":"b53a8543ce0d9ab34bbf4702d5ec7f10"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"b53a8543ce0d9ab34bbf4702d5ec7f10","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5OH0.JdZgWp2gvpi5_cnAZ1DD5dtDTBAWwE5HKZs4iCN6IYY","level":"info","message":"auth send jwt","requestID":"06d7e361be4de06cc1301017cdc5df5f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"06d7e361be4de06cc1301017cdc5df5f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"06d7e361be4de06cc1301017cdc5df5f"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.004193,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"06d7e361be4de06cc1301017cdc5df5f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849798,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTc5OH0.JdZgWp2gvpi5_cnAZ1DD5dtDTBAWwE5HKZs4iCN6IYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"06d7e361be4de06cc1301017cdc5df5f","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"659c8ddf-5f17-4e1f-893d-8aa6b60f1e57","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.3472857} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"06d7e361be4de06cc1301017cdc5df5f","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"123aff88-72a7-409c-ac99-c8658e088e47","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.3530312} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"06d7e361be4de06cc1301017cdc5df5f","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"45c137b5-e1a3-40c5-a504-1d856015f5e6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.3877683} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ffab62f-e854-46a8-acaa-b7efb268feac","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.387917} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"06d7e361be4de06cc1301017cdc5df5f","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.387750485Z"}]},"request_id":"64eb95f5-d4a5-4796-bf21-6943de7f292c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849798.3913083} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"06d7e361be4de06cc1301017cdc5df5f","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"06d7e361be4de06cc1301017cdc5df5f"} device-1 | {"level":"info","message":"POST /devices? 201 98ms","method":"POST","requestID":"06d7e361be4de06cc1301017cdc5df5f","responseTime":98,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06d7e361be4de06cc1301017cdc5df5f"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"58d91aac5d9d5b835458037d87d7151e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"58d91aac5d9d5b835458037d87d7151e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/772753f1-7bcc-4eca-808f-57b7e904c142/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":"58d91aac5d9d5b835458037d87d7151e"} device-1 | {"level":"info","message":"OPTIONS /devices/772753f1-7bcc-4eca-808f-57b7e904c142/websocket 200 1ms","method":"OPTIONS","requestID":"58d91aac5d9d5b835458037d87d7151e","responseTime":1,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f6bbab216b68f44e5e772a0443f21827","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"f6bbab216b68f44e5e772a0443f21827","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9e302bf1-20af-4890-8b6c-558a80669d8e/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":"f6bbab216b68f44e5e772a0443f21827"} device-1 | {"level":"info","message":"OPTIONS /devices/9e302bf1-20af-4890-8b6c-558a80669d8e/websocket 200 1ms","method":"OPTIONS","requestID":"f6bbab216b68f44e5e772a0443f21827","responseTime":1,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc","level":"info","message":"auth send jwt","requestID":"783d9c5d2d2cf835b0772b5eda320e3b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"783d9c5d2d2cf835b0772b5eda320e3b","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc","level":"info","message":"auth send jwt","requestID":"ec0377143294149442bf1c3f714eeb4c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"783d9c5d2d2cf835b0772b5eda320e3b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ec0377143294149442bf1c3f714eeb4c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ec0377143294149442bf1c3f714eeb4c"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130273,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"783d9c5d2d2cf835b0772b5eda320e3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"783d9c5d2d2cf835b0772b5eda320e3b","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.51951,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"ec0377143294149442bf1c3f714eeb4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"ec0377143294149442bf1c3f714eeb4c","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"783d9c5d2d2cf835b0772b5eda320e3b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/772753f1-7bcc-4eca-808f-57b7e904c142/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"783d9c5d2d2cf835b0772b5eda320e3b"} device-1 | {"level":"info","message":"POST /devices/772753f1-7bcc-4eca-808f-57b7e904c142/websocket 200 41ms","method":"POST","requestID":"783d9c5d2d2cf835b0772b5eda320e3b","responseTime":41,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ec0377143294149442bf1c3f714eeb4c"} gateway-1 | {"time_local":"28/Apr/2025:14:16:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9e302bf1-20af-4890-8b6c-558a80669d8e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","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":"ec0377143294149442bf1c3f714eeb4c"} device-1 | {"level":"info","message":"POST /devices/9e302bf1-20af-4890-8b6c-558a80669d8e/websocket 200 44ms","method":"POST","requestID":"ec0377143294149442bf1c3f714eeb4c","responseTime":44,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc","level":"info","message":"auth send jwt","requestID":"a2da71da96de4a4f462ce3d91f4d8fdb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a2da71da96de4a4f462ce3d91f4d8fdb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2da71da96de4a4f462ce3d91f4d8fdb"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745727,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a2da71da96de4a4f462ce3d91f4d8fdb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a2da71da96de4a4f462ce3d91f4d8fdb","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.257242404Z"}]},"request_id":"c8e7b44b-6028-4521-bdc4-2db72bbc0c9a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849800.7825189} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a2da71da96de4a4f462ce3d91f4d8fdb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2da71da96de4a4f462ce3d91f4d8fdb"} device-1 | {"level":"info","message":"GET /devices/9e302bf1-20af-4890-8b6c-558a80669d8e? 200 9ms","method":"GET","requestID":"a2da71da96de4a4f462ce3d91f4d8fdb","responseTime":9,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9e302bf1-20af-4890-8b6c-558a80669d8e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2da71da96de4a4f462ce3d91f4d8fdb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc","level":"info","message":"auth send jwt","requestID":"04ba10353ad4cae6e1cff26ae3facb37"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04ba10353ad4cae6e1cff26ae3facb37","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04ba10353ad4cae6e1cff26ae3facb37"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693987,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"04ba10353ad4cae6e1cff26ae3facb37","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"04ba10353ad4cae6e1cff26ae3facb37","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.387750485Z"}]},"request_id":"f5f72641-d840-434c-b8a8-657cfe218db6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849800.8000598} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"04ba10353ad4cae6e1cff26ae3facb37","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04ba10353ad4cae6e1cff26ae3facb37"} device-1 | {"level":"info","message":"GET /devices/772753f1-7bcc-4eca-808f-57b7e904c142? 200 12ms","method":"GET","requestID":"04ba10353ad4cae6e1cff26ae3facb37","responseTime":12,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/772753f1-7bcc-4eca-808f-57b7e904c142? 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":"04ba10353ad4cae6e1cff26ae3facb37"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc","level":"info","message":"auth send jwt","requestID":"156f31b461acee470c0a1c1aa0d86415"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"156f31b461acee470c0a1c1aa0d86415","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"156f31b461acee470c0a1c1aa0d86415"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.06529,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"156f31b461acee470c0a1c1aa0d86415","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"156f31b461acee470c0a1c1aa0d86415","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Attempting to run experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Attempting to book experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Successfully booked experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67a5b9b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67a5e0c0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.43526,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67a5b9b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"67a5b9b0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.914504,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67a5e0c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"67a5e0c0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.257242404Z"}]},"request_id":"4540f01f-0f92-4788-bf08-56912622f273","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849800.93654} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"67a5b9b0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.387750485Z"}]},"request_id":"8c16deeb-6e48-4a1b-b939-82ce55ae13c2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849800.9374514} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"67a5e0c0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67a5b9b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/9e302bf1-20af-4890-8b6c-558a80669d8e? 200 34ms","method":"GET","requestID":"67a5b9b0-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67a5e0c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/772753f1-7bcc-4eca-808f-57b7e904c142? 200 34ms","method":"GET","requestID":"67a5e0c0-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Setting up experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Successfully locked booking for experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Attempting to update booking for experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Successfully updated booking for experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Successfully set up experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67b4add0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67b4d4e0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Successfully running experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67b52300-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779533,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67b4add0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"67b4add0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.569735,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67b4d4e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"67b4d4e0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99a1e49d-4167-48d4-8af6-e10ae4707c1c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.0140853} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.257242404Z"}]},"request_id":"fb42c9ba-bdc7-4d4a-8717-b26563008c31","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.014988} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.6186,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67b52300-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","rebac_allow":false,"scope_allow":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":"67b52300-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"67b4add0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.387750485Z"}]},"request_id":"c9a40314-8ace-4751-ba7c-719fe9b3fd27","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.0161579} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67b4d4e0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67b52300-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling 200 13ms","method":"POST","requestID":"67b52300-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67b4add0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/9e302bf1-20af-4890-8b6c-558a80669d8e? 200 17ms","method":"GET","requestID":"67b4add0-243b-11f0-b067-2fe344ae06f8","responseTime":17,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67b4d4e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/772753f1-7bcc-4eca-808f-57b7e904c142? 200 17ms","method":"GET","requestID":"67b4d4e0-243b-11f0-b067-2fe344ae06f8","responseTime":17,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67b76cf0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F078b4748-4c1d-49b0-886b-b94943dea148#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F078b4748-4c1d-49b0-886b-b94943dea148","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"63573b90-c50d-45ba-b095-da62d78e73de","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.023926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75acaee8-2959-4ddb-a440-596c34980ae7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.02417} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67b7bb10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"156f31b461acee470c0a1c1aa0d86415","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"321bd49a-6c56-4d3e-8a44-2dc6390a10d1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.0285776} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.681449,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67b76cf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","rebac_allow":false,"scope_allow":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":"67b76cf0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de74c5e1-10ea-46e0-8663-7958699d1faa","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.030717} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.845314,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67b7bb10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","rebac_allow":false,"scope_allow":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":"67b7bb10-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"156f31b461acee470c0a1c1aa0d86415"} gateway-1 | {"time_local":"28/Apr/2025:14:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"level":"info","message":"POST /experiments? 201 200ms","method":"POST","requestID":"156f31b461acee470c0a1c1aa0d86415","responseTime":200,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67b76cf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling 200 11ms","method":"POST","requestID":"67b76cf0-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67b7bb10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling 200 10ms","method":"POST","requestID":"67b7bb10-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ","level":"info","message":"auth send jwt","requestID":"53ece541f2bf33e806b35ce0d0724118"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67b98fd0-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"53ece541f2bf33e806b35ce0d0724118","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"53ece541f2bf33e806b35ce0d0724118"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673144,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"53ece541f2bf33e806b35ce0d0724118","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849801,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"53ece541f2bf33e806b35ce0d0724118","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"090615c9-bd2a-4ac7-8b2e-a52e46dd9b9d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.041466} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.613997,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67b98fd0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","rebac_allow":false,"scope_allow":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":"67b98fd0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.257242404Z"}]},"request_id":"6a9fc9b7-8688-49c1-a4cf-baac95379dbf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.0449147} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67b98fd0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling 200 8ms","method":"POST","requestID":"67b98fd0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53ece541f2bf33e806b35ce0d0724118","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Building connection plan","requestID":"156f31b461acee470c0a1c1aa0d86415"} 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":"f71b4cc5-3859-4b89-b1a4-8a73b9177fd8"},{"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":"9ccabf31-6e88-436d-9984-45d339c2d56e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d4ac8d80-4593-434b-b20f-7df867f3d87d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"156f31b461acee470c0a1c1aa0d86415"} 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/9e302bf1-20af-4890-8b6c-558a80669d8e"},{"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/772753f1-7bcc-4eca-808f-57b7e904c142"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"156f31b461acee470c0a1c1aa0d86415"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"53ece541f2bf33e806b35ce0d0724118"} gateway-1 | {"time_local":"28/Apr/2025:14:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9e302bf1-20af-4890-8b6c-558a80669d8e? 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":"53ece541f2bf33e806b35ce0d0724118"} device-1 | {"level":"info","message":"GET /devices/9e302bf1-20af-4890-8b6c-558a80669d8e? 200 10ms","method":"GET","requestID":"53ece541f2bf33e806b35ce0d0724118","responseTime":10,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ","level":"info","message":"auth send jwt","requestID":"0707199a415b7494f7a3653e9ba27991"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0707199a415b7494f7a3653e9ba27991","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0707199a415b7494f7a3653e9ba27991"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.672154,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849800,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMH0.v8_uSDsklnfIs35HJeMf47_85P_o2qOA0b9rPAEQzqc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.569739,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0707199a415b7494f7a3653e9ba27991","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849801,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0707199a415b7494f7a3653e9ba27991","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:38.387750485Z"}]},"request_id":"20d806d3-d12a-4ef1-9a7b-114163a28e46","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.0643315} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0707199a415b7494f7a3653e9ba27991","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0707199a415b7494f7a3653e9ba27991"} gateway-1 | {"time_local":"28/Apr/2025:14:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/772753f1-7bcc-4eca-808f-57b7e904c142? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0707199a415b7494f7a3653e9ba27991"} device-1 | {"level":"info","message":"GET /devices/772753f1-7bcc-4eca-808f-57b7e904c142? 200 12ms","method":"GET","requestID":"0707199a415b7494f7a3653e9ba27991","responseTime":12,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"1e7d7ab2-cc0a-490e-95c6-7274f9a24899","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.0722115} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69f34822-8f60-4e22-be20-150f287d1ea9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.072349} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d'","requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d'","requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 64ms","method":"POST","requestID":"67bc9d10-243b-11f0-b067-2fe344ae06f8","responseTime":64,"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":"67bc9d10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d","device":"9e302bf1-20af-4890-8b6c-558a80669d8e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d","device":"772753f1-7bcc-4eca-808f-57b7e904c142","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/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"156f31b461acee470c0a1c1aa0d86415"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67ca58b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d8462a0-8bbd-48cd-9a52-70bdc148eccc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.1718783} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.918039,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67ca58b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","rebac_allow":false,"scope_allow":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":"67ca58b0-243b-11f0-b067-2fe344ae06f8","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67ca58b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling 200 29ms","method":"POST","requestID":"67ca58b0-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67ceec90-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89fc490d-05a7-4045-9758-f4bdf8763aa8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.1826992} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.330233,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67ceec90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","rebac_allow":false,"scope_allow":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":"67ceec90-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67ceec90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling 200 13ms","method":"POST","requestID":"67ceec90-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling"} device-1 | {"device":"772753f1-7bcc-4eca-808f-57b7e904c142","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"772753f1-7bcc-4eca-808f-57b7e904c142","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"9e302bf1-20af-4890-8b6c-558a80669d8e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9e302bf1-20af-4890-8b6c-558a80669d8e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 6983320331341220467 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:NqWS\r\na=ice-pwd:EUsaq/jnsn/iH/yLsKm5aC+r\r\na=ice-options:trickle\r\na=fingerprint:sha-256 85:D5:0D:9C:58:D1:81:D7:BB:93:F2:5C:81:2D:8E:6C:13:D5:37:BB:D0:0B:8B:8F:C1:A6:F3:C0:5F:79:27:49\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"772753f1-7bcc-4eca-808f-57b7e904c142","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1647366660423297973 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:FLVQ\r\na=ice-pwd:KDCn9VdCF2gcez1SfQkcvk/Y\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0B:0B:32:A4:90:16:AF:0D:79:D8:61:15:49:44:50:B3:5D:69:F4:D9:BE:A0:D4:87:9B:14:D9:C5:8D:EA:64:A0\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"9e302bf1-20af-4890-8b6c-558a80669d8e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2900336107 1 udp 2113937151 bbf8a5b2-573b-44d0-bf32-d0fff4eee865.local 60154 typ host generation 0 ufrag FLVQ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9e302bf1-20af-4890-8b6c-558a80669d8e","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/9e302bf1-20af-4890-8b6c-558a80669d8e'"} device-1 | {"content":{"candidate":"candidate:1008113323 1 udp 2113937151 2fdd930b-954a-4756-be66-58ee94ea4d66.local 43555 typ host generation 0 ufrag NqWS network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"772753f1-7bcc-4eca-808f-57b7e904c142","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"772753f1-7bcc-4eca-808f-57b7e904c142","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/d3bd39fb-060d-43ea-a66f-fbd0886ec66d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d3bd39fb-060d-43ea-a66f-fbd0886ec66d","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9e302bf1-20af-4890-8b6c-558a80669d8e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"772753f1-7bcc-4eca-808f-57b7e904c142","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"9e302bf1-20af-4890-8b6c-558a80669d8e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"29600f152df941d1155bb9c63f013bc8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"29600f152df941d1155bb9c63f013bc8","responseTime":25,"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":"new","url":"http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e"},{"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/772753f1-7bcc-4eca-808f-57b7e904c142"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d"}}},"level":"info","message":"received a callback","requestID":"29600f152df941d1155bb9c63f013bc8"} device-1 | {"device":"9e302bf1-20af-4890-8b6c-558a80669d8e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"772753f1-7bcc-4eca-808f-57b7e904c142","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":"29600f152df941d1155bb9c63f013bc8","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"29600f152df941d1155bb9c63f013bc8"} device-1 | {"device":"9e302bf1-20af-4890-8b6c-558a80669d8e","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"d3bd39fb-060d-43ea-a66f-fbd0886ec66d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d3bd39fb-060d-43ea-a66f-fbd0886ec66d","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/d3bd39fb-060d-43ea-a66f-fbd0886ec66d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d3bd39fb-060d-43ea-a66f-fbd0886ec66d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4b0ff63f1423f6e2c83f7a47db5c4798","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4b0ff63f1423f6e2c83f7a47db5c4798","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/9e302bf1-20af-4890-8b6c-558a80669d8e"},{"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/772753f1-7bcc-4eca-808f-57b7e904c142"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d"}}},"level":"info","message":"received a callback","requestID":"4b0ff63f1423f6e2c83f7a47db5c4798"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"67e64520-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd3bd39fb-060d-43ea-a66f-fbd0886ec66d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"747148a5-0b3e-47c1-8b69-45971f23d843","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.3351665} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.243589,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67e64520-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d","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 29ms","method":"POST","requestID":"67e64520-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"67e64520-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d 200 33ms","method":"GET","requestID":"67e64520-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"4b0ff63f1423f6e2c83f7a47db5c4798","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"4b0ff63f1423f6e2c83f7a47db5c4798"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67ed7110-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6cd2508-d220-415e-9280-ed6f9acedba5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.3814569} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.412592,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67ed7110-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","rebac_allow":false,"scope_allow":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":"67ed7110-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ","level":"info","message":"auth send jwt","requestID":"cc174646bb2ca4b89f9f239fb6c7d67d"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"cc174646bb2ca4b89f9f239fb6c7d67d","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67ed7110-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling 200 33ms","method":"POST","requestID":"67ed7110-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/078b4748-4c1d-49b0-886b-b94943dea148","requestID":"cc174646bb2ca4b89f9f239fb6c7d67d"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.662431,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"67f2ef50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"cc174646bb2ca4b89f9f239fb6c7d67d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849801,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cc174646bb2ca4b89f9f239fb6c7d67d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e11a4fd6-5144-4c6d-a178-555fc6c2aa78","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.4168804} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.234398,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/078b4748-4c1d-49b0-886b-b94943dea148","requestID":"cc174646bb2ca4b89f9f239fb6c7d67d"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67f2ef50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","rebac_allow":false,"scope_allow":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":"67f2ef50-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:14:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/078b4748-4c1d-49b0-886b-b94943dea148 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc174646bb2ca4b89f9f239fb6c7d67d"} experiment-1 | {"level":"info","message":"GET /experiments/078b4748-4c1d-49b0-886b-b94943dea148 200 8ms","method":"GET","requestID":"cc174646bb2ca4b89f9f239fb6c7d67d","responseTime":8,"status":200,"url":"/experiments/078b4748-4c1d-49b0-886b-b94943dea148"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"67f2ef50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling 200 8ms","method":"POST","requestID":"67f2ef50-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ","level":"info","message":"auth send jwt","requestID":"d8cff48acc56518eda794e456b6de4a0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d8cff48acc56518eda794e456b6de4a0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/078b4748-4c1d-49b0-886b-b94943dea148","requestID":"d8cff48acc56518eda794e456b6de4a0"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.672495,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"d8cff48acc56518eda794e456b6de4a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849801,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d8cff48acc56518eda794e456b6de4a0","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Attempting to finish experiment","requestID":"d8cff48acc56518eda794e456b6de4a0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"67f5ae70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.778608,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"67f5ae70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849801,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"67f5ae70-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d","device":"9e302bf1-20af-4890-8b6c-558a80669d8e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d","device":"772753f1-7bcc-4eca-808f-57b7e904c142","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/d3bd39fb-060d-43ea-a66f-fbd0886ec66d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d3bd39fb-060d-43ea-a66f-fbd0886ec66d","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd3bd39fb-060d-43ea-a66f-fbd0886ec66d': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd3bd39fb-060d-43ea-a66f-fbd0886ec66d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"0c33783d-8107-4136-80db-51487e514c5d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.4685795} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31416e5d-0c35-444b-a783-3498ad26abdd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.4689088} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"efb929b7182911d2d117615647c8163f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"efb929b7182911d2d117615647c8163f","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bb9a14ab5656032aecf3c185b0e03986","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"67f5ae70-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bb9a14ab5656032aecf3c185b0e03986","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/9e302bf1-20af-4890-8b6c-558a80669d8e"},{"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/772753f1-7bcc-4eca-808f-57b7e904c142"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d"}}},"level":"info","message":"received a callback","requestID":"efb929b7182911d2d117615647c8163f"} 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/9e302bf1-20af-4890-8b6c-558a80669d8e"},{"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/772753f1-7bcc-4eca-808f-57b7e904c142"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d"}}},"level":"info","message":"received a callback","requestID":"bb9a14ab5656032aecf3c185b0e03986"} device-1 | {"data":{"peerconnection":"d3bd39fb-060d-43ea-a66f-fbd0886ec66d","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"67f5ae70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d 204 91ms","method":"DELETE","requestID":"67f5ae70-243b-11f0-b067-2fe344ae06f8","responseTime":91,"status":204,"url":"/peerconnections/d3bd39fb-060d-43ea-a66f-fbd0886ec66d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/078b4748-4c1d-49b0-886b-b94943dea148"},"level":"info","message":"Successfully finished experiment","requestID":"d8cff48acc56518eda794e456b6de4a0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"68058cf0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e302bf1-20af-4890-8b6c-558a80669d8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8387595-d0db-4ee9-ad63-ad686b84eb5a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.5400398} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.915313,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"68058cf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e302bf1-20af-4890-8b6c-558a80669d8e","object_type":"device","rebac_allow":false,"scope_allow":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":"68058cf0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"68058cf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling 200 9ms","method":"POST","requestID":"68058cf0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/9e302bf1-20af-4890-8b6c-558a80669d8e/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F078b4748-4c1d-49b0-886b-b94943dea148': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F078b4748-4c1d-49b0-886b-b94943dea148","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"a6c4dc56-c286-46a9-a95c-dce07e367efa","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.5469196} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"68073aa0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5cea2544-8ecf-43f1-b4f2-e33e5b66bbd6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.5472841} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"d8cff48acc56518eda794e456b6de4a0","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F772753f1-7bcc-4eca-808f-57b7e904c142","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"234cab6d-0ce9-4400-9ae5-a7fca07feb1e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.552366} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.830324,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"68073aa0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142","object_type":"device","rebac_allow":false,"scope_allow":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":"68073aa0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"68073aa0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling 200 10ms","method":"POST","requestID":"68073aa0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/772753f1-7bcc-4eca-808f-57b7e904c142/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/078b4748-4c1d-49b0-886b-b94943dea148","requestID":"d8cff48acc56518eda794e456b6de4a0"} gateway-1 | {"time_local":"28/Apr/2025:14:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/078b4748-4c1d-49b0-886b-b94943dea148 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":"d8cff48acc56518eda794e456b6de4a0"} experiment-1 | {"level":"info","message":"DELETE /experiments/078b4748-4c1d-49b0-886b-b94943dea148 204 177ms","method":"DELETE","requestID":"d8cff48acc56518eda794e456b6de4a0","responseTime":177,"status":204,"url":"/experiments/078b4748-4c1d-49b0-886b-b94943dea148"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"efb929b7182911d2d117615647c8163f","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"efb929b7182911d2d117615647c8163f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"bb9a14ab5656032aecf3c185b0e03986","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb9a14ab5656032aecf3c185b0e03986"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ","level":"info","message":"auth send jwt","requestID":"9fd1d9287c566f590b3263be5d4eacc2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9fd1d9287c566f590b3263be5d4eacc2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9fd1d9287c566f590b3263be5d4eacc2"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} gateway-1 | {"time_local":"28/Apr/2025:14:16:41 +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.860","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":"a1645e1ec323e86b4da1af4c3ada18ba"} gateway-1 | {"time_local":"28/Apr/2025:14:16:41 +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.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":"30b87042d291d34f13f84b4d7e0a4de2"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.910819,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9fd1d9287c566f590b3263be5d4eacc2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849801,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9fd1d9287c566f590b3263be5d4eacc2","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/9e302bf1-20af-4890-8b6c-558a80669d8e' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/772753f1-7bcc-4eca-808f-57b7e904c142' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d12c9940-1786-4494-80d4-cd30467ea0f1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.6556375} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9fd1d9287c566f590b3263be5d4eacc2","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef54bd20-a339-4c97-8fd5-82500a986452","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.6591926} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9fd1d9287c566f590b3263be5d4eacc2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"eaf38ff3-b137-4664-89fe-b774b4dc64b2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.6685162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab37644c-9462-44c5-a246-1fc3f29e4a66","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.668654} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"9fd1d9287c566f590b3263be5d4eacc2","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.668490534Z"}]},"request_id":"25bfe60d-b66c-4fcd-9910-254eead345af","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.6718512} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9fd1d9287c566f590b3263be5d4eacc2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9fd1d9287c566f590b3263be5d4eacc2"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"9fd1d9287c566f590b3263be5d4eacc2","responseTime":66,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fd1d9287c566f590b3263be5d4eacc2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ","level":"info","message":"auth send jwt","requestID":"37402cb88dc252f784825eaeb8f84f39"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"37402cb88dc252f784825eaeb8f84f39","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"37402cb88dc252f784825eaeb8f84f39"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.681707,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"37402cb88dc252f784825eaeb8f84f39","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849801,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwMX0.LapGYCint-QAvq648TKotKWEbEVsbBgRpACx9CqaWdQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"37402cb88dc252f784825eaeb8f84f39","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"59487509-f4cd-43e0-ab08-6fdcff4ea19e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.7157066} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"37402cb88dc252f784825eaeb8f84f39","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"868439ce-2645-492a-ad08-0a66b60d319b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.7193537} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"37402cb88dc252f784825eaeb8f84f39","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"df46f1aa-1641-4e75-8bd5-a54325f4eefd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.7543426} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c6c544f-9360-49c8-a4aa-b79fad98cd6a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.7545614} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"37402cb88dc252f784825eaeb8f84f39","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.754319222Z"}]},"request_id":"d3448aa4-5c57-44bc-bd96-f1f770a10340","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849801.7576072} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"37402cb88dc252f784825eaeb8f84f39","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"37402cb88dc252f784825eaeb8f84f39"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"37402cb88dc252f784825eaeb8f84f39","responseTime":58,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37402cb88dc252f784825eaeb8f84f39"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d910134e7955683537e277cc06371d1f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d910134e7955683537e277cc06371d1f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/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":"d910134e7955683537e277cc06371d1f"} device-1 | {"level":"info","message":"OPTIONS /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/websocket 200 1ms","method":"OPTIONS","requestID":"d910134e7955683537e277cc06371d1f","responseTime":1,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"f97b2339babb671f59ba99bde8b9b19e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f97b2339babb671f59ba99bde8b9b19e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f97b2339babb671f59ba99bde8b9b19e"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.150883,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f97b2339babb671f59ba99bde8b9b19e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f97b2339babb671f59ba99bde8b9b19e","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"93a84199d9446a538f2237dfe1f976fe","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"93a84199d9446a538f2237dfe1f976fe","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a9bdc874-3805-4d75-9d05-7c7017686305/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":"93a84199d9446a538f2237dfe1f976fe"} device-1 | {"level":"info","message":"OPTIONS /devices/a9bdc874-3805-4d75-9d05-7c7017686305/websocket 200 1ms","method":"OPTIONS","requestID":"93a84199d9446a538f2237dfe1f976fe","responseTime":1,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"8415f77e2dc76e6f3e7a9bf976052a3c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8415f77e2dc76e6f3e7a9bf976052a3c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8415f77e2dc76e6f3e7a9bf976052a3c"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.005501,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8415f77e2dc76e6f3e7a9bf976052a3c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8415f77e2dc76e6f3e7a9bf976052a3c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f97b2339babb671f59ba99bde8b9b19e"} device-1 | {"level":"info","message":"POST /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/websocket 200 45ms","method":"POST","requestID":"f97b2339babb671f59ba99bde8b9b19e","responseTime":45,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","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":"f97b2339babb671f59ba99bde8b9b19e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8415f77e2dc76e6f3e7a9bf976052a3c"} device-1 | {"level":"info","message":"POST /devices/a9bdc874-3805-4d75-9d05-7c7017686305/websocket 200 20ms","method":"POST","requestID":"8415f77e2dc76e6f3e7a9bf976052a3c","responseTime":20,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a9bdc874-3805-4d75-9d05-7c7017686305/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","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":"8415f77e2dc76e6f3e7a9bf976052a3c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"6dfb64eb762a2d5b76c9f077d0cf0282"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6dfb64eb762a2d5b76c9f077d0cf0282","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6dfb64eb762a2d5b76c9f077d0cf0282"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651945,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6dfb64eb762a2d5b76c9f077d0cf0282","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6dfb64eb762a2d5b76c9f077d0cf0282","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.668490534Z"}]},"request_id":"8498b687-f377-4ac6-a71b-0ca54dde7808","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.1033106} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6dfb64eb762a2d5b76c9f077d0cf0282","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6dfb64eb762a2d5b76c9f077d0cf0282"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3? 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":"6dfb64eb762a2d5b76c9f077d0cf0282"} device-1 | {"level":"info","message":"GET /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3? 200 9ms","method":"GET","requestID":"6dfb64eb762a2d5b76c9f077d0cf0282","responseTime":9,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"ccd24723d493b1e893df1272a7f5cd77"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ccd24723d493b1e893df1272a7f5cd77","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ccd24723d493b1e893df1272a7f5cd77"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643121,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"ccd24723d493b1e893df1272a7f5cd77","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ccd24723d493b1e893df1272a7f5cd77","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.754319222Z"}]},"request_id":"514f1dbd-efc2-42ba-b88a-470e64aa39f8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.1163797} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ccd24723d493b1e893df1272a7f5cd77","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ccd24723d493b1e893df1272a7f5cd77"} device-1 | {"level":"info","message":"GET /devices/a9bdc874-3805-4d75-9d05-7c7017686305? 200 9ms","method":"GET","requestID":"ccd24723d493b1e893df1272a7f5cd77","responseTime":9,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a9bdc874-3805-4d75-9d05-7c7017686305? 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":"ccd24723d493b1e893df1272a7f5cd77"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c6a57c553d64b1468a399ed2fb48b50f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.739717,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c6a57c553d64b1468a399ed2fb48b50f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c6a57c553d64b1468a399ed2fb48b50f","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Attempting to run experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Attempting to book experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Successfully booked experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6994b870-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6994df80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.588024,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6994b870-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6994b870-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.591585,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6994df80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6994df80-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.668490534Z"}]},"request_id":"f402e7ed-6fd2-425d-b4d6-ead1d9dcbcf2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.157833} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6994b870-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.754319222Z"}]},"request_id":"1dc1a992-5d4d-4a02-be9d-cf0219835ef5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.1586008} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6994df80-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6994b870-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3? 200 11ms","method":"GET","requestID":"6994b870-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6994df80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/a9bdc874-3805-4d75-9d05-7c7017686305? 200 11ms","method":"GET","requestID":"6994df80-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Setting up experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Successfully set up experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"69aa3c40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"69aa6350-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69aa8a60-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Successfully running experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:59694","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671957,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69aa3c40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"69aa3c40-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655827,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69aa6350-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"69aa6350-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.754319222Z"}]},"request_id":"25f6e574-a36b-419e-aa77-2e551feb2239","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.303721} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"69aa6350-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.668490534Z"}]},"request_id":"c2971807-8b60-4211-ad12-366b6e101ca1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.3050008} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"69aa3c40-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c5b8933-2b73-44ff-9371-eaa8bb68ec03","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.309007} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F20a9edaf-4d57-47fe-b585-4f03a6308194#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F20a9edaf-4d57-47fe-b585-4f03a6308194","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"be07f1b6-cc59-40e5-8f05-866d0ca7c69b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.3094277} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"69aa6350-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/a9bdc874-3805-4d75-9d05-7c7017686305? 200 17ms","method":"GET","requestID":"69aa6350-243b-11f0-b067-2fe344ae06f8","responseTime":17,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"69aa3c40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acc05768-7844-41ba-a4d3-6ace32ad5569","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.3098164} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.193216,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} device-1 | {"level":"info","message":"GET /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3? 200 19ms","method":"GET","requestID":"69aa3c40-243b-11f0-b067-2fe344ae06f8","responseTime":19,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69aa8a60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"69aa8a60-243b-11f0-b067-2fe344ae06f8","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"c6a57c553d64b1468a399ed2fb48b50f","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69aa8a60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling 200 43ms","method":"POST","requestID":"69aa8a60-243b-11f0-b067-2fe344ae06f8","responseTime":43,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69b14120-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69b1b650-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f868f217-4c87-418b-bddf-87d35911e842","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.3423574} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.45822,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.224","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 220ms","method":"POST","requestID":"c6a57c553d64b1468a399ed2fb48b50f","responseTime":220,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69b14120-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","rebac_allow":false,"scope_allow":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":"69b14120-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c9d99a6-4e06-4e81-a87e-0dfaba58bc46","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.3461041} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.846268,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69b1b650-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","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":"69b14120-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"69b1b650-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling 200 10ms","method":"POST","requestID":"69b14120-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"ffba1ed1b322f1afe10ae2177873111a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ffba1ed1b322f1afe10ae2177873111a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ffba1ed1b322f1afe10ae2177873111a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69b33cf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69b1b650-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling 200 11ms","method":"POST","requestID":"69b1b650-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895246,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"ffba1ed1b322f1afe10ae2177873111a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ffba1ed1b322f1afe10ae2177873111a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c964f44-456b-4771-9cdf-59b0fc23b9c0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.3550925} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.580397,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69b33cf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","object_type":"device","rebac_allow":false,"scope_allow":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":"69b33cf0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.668490534Z"}]},"request_id":"eca48641-6b64-46ba-bd6a-980ad0a4bbc3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.358463} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69b33cf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling 200 8ms","method":"POST","requestID":"69b33cf0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ffba1ed1b322f1afe10ae2177873111a","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Building connection plan","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} 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":"94ee2f89-1672-4700-8a5a-099664fea495"},{"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":"ff8ad128-a590-43b6-b96c-7b8a84703f8f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ff458baa-8175-4428-90a1-374b53f083f1"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} 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/2a0b9baf-7cea-476c-bc27-91fa697e8fc3"},{"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/a9bdc874-3805-4d75-9d05-7c7017686305"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ffba1ed1b322f1afe10ae2177873111a"} device-1 | {"level":"info","message":"GET /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3? 200 12ms","method":"GET","requestID":"ffba1ed1b322f1afe10ae2177873111a","responseTime":12,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3? 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":"ffba1ed1b322f1afe10ae2177873111a"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.704666,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"df78913ee2a030ab3605e5b7628e06f5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df78913ee2a030ab3605e5b7628e06f5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"df78913ee2a030ab3605e5b7628e06f5"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.987257,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"df78913ee2a030ab3605e5b7628e06f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"df78913ee2a030ab3605e5b7628e06f5","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"86814522-e175-4640-a940-8f7e40ea60fe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.3755045} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11667f03-1541-40d4-9a1a-f9cb035a378c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.375648} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:41.754319222Z"}]},"request_id":"1382c5cb-c01b-4a75-a245-f5b10871a9fd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.3765016} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"df78913ee2a030ab3605e5b7628e06f5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"df78913ee2a030ab3605e5b7628e06f5"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a9bdc874-3805-4d75-9d05-7c7017686305? 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":"df78913ee2a030ab3605e5b7628e06f5"} device-1 | {"level":"info","message":"GET /devices/a9bdc874-3805-4d75-9d05-7c7017686305? 200 13ms","method":"GET","requestID":"df78913ee2a030ab3605e5b7628e06f5","responseTime":13,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c'","requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c'","requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"69b4c390-243b-11f0-b067-2fe344ae06f8","responseTime":34,"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":"69b4c390-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c","device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c","device":"a9bdc874-3805-4d75-9d05-7c7017686305","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/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c6a57c553d64b1468a399ed2fb48b50f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69bdeb50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3072af13-8493-4a8c-9286-f03c9e353dfc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.4255033} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.219284,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69bdeb50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","rebac_allow":false,"scope_allow":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":"69bdeb50-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69bdeb50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling 200 8ms","method":"POST","requestID":"69bdeb50-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69bf4ae0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ca5a540-f13b-42dc-9737-1d4b4dbc587c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.4342053} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.097519,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69bf4ae0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","object_type":"device","rebac_allow":false,"scope_allow":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":"69bf4ae0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69bf4ae0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling 200 8ms","method":"POST","requestID":"69bf4ae0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling"} device-1 | {"device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"a9bdc874-3805-4d75-9d05-7c7017686305","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a9bdc874-3805-4d75-9d05-7c7017686305","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 8108764097247226351 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:7xdd\r\na=ice-pwd:KikTRmPSQpcToH3gHtCb1hCG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 48:E7:BE:D0:6E:1E:5A:92:8D:53:B5:4F:F5:0F:94:CF:FB:07:02:87:1E:27:36:6B:D3:6D:48:4A:3E:70:A8:F8\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"a9bdc874-3805-4d75-9d05-7c7017686305","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 8698056718139331257 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:b6H/\r\na=ice-pwd:F+zHVkzTc4RwzXCgT1Spa1at\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5A:DC:BD:24:7F:7A:99:65:B9:8A:61:AC:4F:F6:C2:BD:CE:29:08:8B:24:2D:1A:33:57:87:1B:60:BA:26:12:0D\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3668724053 1 udp 2113937151 1d06a866-a31a-42cc-8be7-5e603f18b206.local 58023 typ host generation 0 ufrag b6H/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","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/2a0b9baf-7cea-476c-bc27-91fa697e8fc3'"} device-1 | {"content":{"candidate":"candidate:4013356173 1 udp 2113937151 463c4824-9a4b-4b0e-be2f-7d1302c537ce.local 51947 typ host generation 0 ufrag 7xdd network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a9bdc874-3805-4d75-9d05-7c7017686305","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a9bdc874-3805-4d75-9d05-7c7017686305","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/a69194f4-7c0a-4115-8643-2ecca065be8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a69194f4-7c0a-4115-8643-2ecca065be8c","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"a9bdc874-3805-4d75-9d05-7c7017686305","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a6a390fa4a309e9d3d950c7daa869541","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"a6a390fa4a309e9d3d950c7daa869541","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":"new","url":"http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3"},{"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/a9bdc874-3805-4d75-9d05-7c7017686305"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c"}}},"level":"info","message":"received a callback","requestID":"a6a390fa4a309e9d3d950c7daa869541"} device-1 | {"device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a9bdc874-3805-4d75-9d05-7c7017686305","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"a6a390fa4a309e9d3d950c7daa869541","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"a6a390fa4a309e9d3d950c7daa869541"} device-1 | {"device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"a69194f4-7c0a-4115-8643-2ecca065be8c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a69194f4-7c0a-4115-8643-2ecca065be8c","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/a69194f4-7c0a-4115-8643-2ecca065be8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a69194f4-7c0a-4115-8643-2ecca065be8c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b422a9c3b243eae89db1c9c882f99820","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b422a9c3b243eae89db1c9c882f99820","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/2a0b9baf-7cea-476c-bc27-91fa697e8fc3"},{"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/a9bdc874-3805-4d75-9d05-7c7017686305"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c"}}},"level":"info","message":"received a callback","requestID":"b422a9c3b243eae89db1c9c882f99820"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"69d6ca80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa69194f4-7c0a-4115-8643-2ecca065be8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad247b3f-7e03-45ac-8f6b-46c2fe604cdb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.5884442} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.196044,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69d6ca80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c","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":"69d6ca80-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"69d6ca80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c 200 8ms","method":"GET","requestID":"69d6ca80-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"b422a9c3b243eae89db1c9c882f99820","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"b422a9c3b243eae89db1c9c882f99820"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69dda850-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10735e9a-d768-4e08-b95d-3a8b5c649c1e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.632639} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.127304,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69dda850-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","rebac_allow":false,"scope_allow":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":"69dda850-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69dda850-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling 200 7ms","method":"POST","requestID":"69dda850-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69df07e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"289544e237ab05228bd0422a47b1d2c9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"289544e237ab05228bd0422a47b1d2c9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/20a9edaf-4d57-47fe-b585-4f03a6308194","requestID":"289544e237ab05228bd0422a47b1d2c9"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3021873-f19b-4fc9-9b53-74e12d08d2b3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.6427016} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.11273,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69df07e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","object_type":"device","rebac_allow":false,"scope_allow":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":"69df07e0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.637689,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69df07e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling 200 9ms","method":"POST","requestID":"69df07e0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"289544e237ab05228bd0422a47b1d2c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"289544e237ab05228bd0422a47b1d2c9","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/20a9edaf-4d57-47fe-b585-4f03a6308194","requestID":"289544e237ab05228bd0422a47b1d2c9"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/20a9edaf-4d57-47fe-b585-4f03a6308194 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"289544e237ab05228bd0422a47b1d2c9"} experiment-1 | {"level":"info","message":"GET /experiments/20a9edaf-4d57-47fe-b585-4f03a6308194 200 33ms","method":"GET","requestID":"289544e237ab05228bd0422a47b1d2c9","responseTime":33,"status":200,"url":"/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/20a9edaf-4d57-47fe-b585-4f03a6308194","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.657358,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Attempting to finish experiment","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"69e681f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.722166,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69e681f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69e681f0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c","device":"a9bdc874-3805-4d75-9d05-7c7017686305","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c","device":"2a0b9baf-7cea-476c-bc27-91fa697e8fc3","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/a69194f4-7c0a-4115-8643-2ecca065be8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a69194f4-7c0a-4115-8643-2ecca065be8c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa69194f4-7c0a-4115-8643-2ecca065be8c': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa69194f4-7c0a-4115-8643-2ecca065be8c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"8d820898-f3f4-4c41-8b3a-4c8256b8418d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.7243795} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ced20d9a-5ed0-4e8b-8c7d-d8ea581edd5a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.724652} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d8cb73bbf6c6df03f6d501cfd5fd194","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"3d8cb73bbf6c6df03f6d501cfd5fd194","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0f0c1fa2833a68d366804a6746fb9e76","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3"},{"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/a9bdc874-3805-4d75-9d05-7c7017686305"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c"}}},"level":"info","message":"received a callback","requestID":"3d8cb73bbf6c6df03f6d501cfd5fd194"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"0f0c1fa2833a68d366804a6746fb9e76","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"69e681f0-243b-11f0-b067-2fe344ae06f8","responseTime":32,"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/2a0b9baf-7cea-476c-bc27-91fa697e8fc3"},{"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/a9bdc874-3805-4d75-9d05-7c7017686305"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c"}}},"level":"info","message":"received a callback","requestID":"0f0c1fa2833a68d366804a6746fb9e76"} device-1 | {"data":{"peerconnection":"a69194f4-7c0a-4115-8643-2ecca065be8c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"69e681f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c 204 95ms","method":"DELETE","requestID":"69e681f0-243b-11f0-b067-2fe344ae06f8","responseTime":95,"status":204,"url":"/peerconnections/a69194f4-7c0a-4115-8643-2ecca065be8c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"},"level":"info","message":"Successfully finished experiment","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69faa630-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a0b9baf-7cea-476c-bc27-91fa697e8fc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f361ef6e-0244-4709-9560-af37904c208a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.8244376} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.59296,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69faa630-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3","object_type":"device","rebac_allow":false,"scope_allow":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":"69faa630-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69faa630-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling 200 10ms","method":"POST","requestID":"69faa630-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69fc7af0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F20a9edaf-4d57-47fe-b585-4f03a6308194': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F20a9edaf-4d57-47fe-b585-4f03a6308194","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"b7ea0400-014f-43c1-8f24-856630b70838","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.833347} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c30998a-7e16-4ce0-bc69-1c1adbec7d8b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.8335912} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9bdc874-3805-4d75-9d05-7c7017686305","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"911cd639-94a9-44df-9404-7235185c89c3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.8362153} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.60646,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"69fc7af0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9bdc874-3805-4d75-9d05-7c7017686305","object_type":"device","rebac_allow":false,"scope_allow":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":"69fc7af0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69fc7af0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling 200 10ms","method":"POST","requestID":"69fc7af0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/a9bdc874-3805-4d75-9d05-7c7017686305/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/20a9edaf-4d57-47fe-b585-4f03a6308194","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/20a9edaf-4d57-47fe-b585-4f03a6308194 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.213","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7"} experiment-1 | {"level":"info","message":"DELETE /experiments/20a9edaf-4d57-47fe-b585-4f03a6308194 204 210ms","method":"DELETE","requestID":"748b4f6bd3b312b3f8a8e72ee8a5a2f7","responseTime":210,"status":204,"url":"/experiments/20a9edaf-4d57-47fe-b585-4f03a6308194"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 165ms","method":"POST","requestID":"3d8cb73bbf6c6df03f6d501cfd5fd194","responseTime":165,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.169","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d8cb73bbf6c6df03f6d501cfd5fd194"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 165ms","method":"POST","requestID":"0f0c1fa2833a68d366804a6746fb9e76","responseTime":165,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.168","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f0c1fa2833a68d366804a6746fb9e76"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +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.833","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":"9ff5104bd7c8a243353406937c468b46"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +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.826","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":"1a24c11554bb36841a629dbc69564793"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.918346,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c","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/a9bdc874-3805-4d75-9d05-7c7017686305' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2a0b9baf-7cea-476c-bc27-91fa697e8fc3' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2fe0a63b-be2e-407f-a57b-923d27b57f61","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.9145064} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb7ce3e6-6d39-4e8a-a184-02e878899752","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.920611} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"5ecacd75-1dc8-4187-827a-04331d320407","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.930569} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40b16566-a23c-4e58-8614-2291c7b5f0c3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.9307256} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:44.930546591Z"}]},"request_id":"f8105d26-66c5-46c7-be9b-4ea605ed4eaf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.9352863} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c"} gateway-1 | {"time_local":"28/Apr/2025:14:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"fba0fee6954d4db91cdb4bc96a6f4d7c","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc","level":"info","message":"auth send jwt","requestID":"9307958c8bd6f4c495acfcd55d75e56a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9307958c8bd6f4c495acfcd55d75e56a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9307958c8bd6f4c495acfcd55d75e56a"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.68728,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9307958c8bd6f4c495acfcd55d75e56a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849804,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNH0.GaGBwTxr7z8flnlfAN8CS7PI-aToTIhl3smW77zn-jc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9307958c8bd6f4c495acfcd55d75e56a","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"da71582f-abad-41f0-94db-3145c3a45f1b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.9807851} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9307958c8bd6f4c495acfcd55d75e56a","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f55baa0-c012-4111-97d7-2b1824cb1ac0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849804.9846554} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9307958c8bd6f4c495acfcd55d75e56a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"4d3b3233-454c-4d85-8f2b-b493a777e532","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849805.0227706} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5118c128-7e8c-4fca-9181-39c6305c9dd2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849805.0229568} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"9307958c8bd6f4c495acfcd55d75e56a","responseTime":41,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:45.022746811Z"}]},"request_id":"bfcd1be2-7d4f-40a7-891c-a1890298634b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849805.0265896} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9307958c8bd6f4c495acfcd55d75e56a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9307958c8bd6f4c495acfcd55d75e56a"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"9307958c8bd6f4c495acfcd55d75e56a","responseTime":62,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9307958c8bd6f4c495acfcd55d75e56a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNX0.2VPGBBHn1zNBXpk7ugPe9PblpxLraT9HAtv7d5GQMfs","level":"info","message":"auth send jwt","requestID":"a07a7daf74681243cb11ef8f7898192a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a07a7daf74681243cb11ef8f7898192a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a07a7daf74681243cb11ef8f7898192a"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:45Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717588,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a07a7daf74681243cb11ef8f7898192a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849805,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNX0.2VPGBBHn1zNBXpk7ugPe9PblpxLraT9HAtv7d5GQMfs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a07a7daf74681243cb11ef8f7898192a","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:45.022746811Z"}]},"request_id":"758403f2-184c-4f10-9f3e-39100f7b82a0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849805.941535} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a07a7daf74681243cb11ef8f7898192a","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b364b196-2272-447a-b978-bfe4c4de8e3c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849805.9698594} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"a07a7daf74681243cb11ef8f7898192a","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:45.022746811Z"}]},"request_id":"2f84db7f-a1db-4ef3-abc3-f7396ad7ee5e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849805.9917357} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a07a7daf74681243cb11ef8f7898192a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a07a7daf74681243cb11ef8f7898192a"} gateway-1 | {"time_local":"28/Apr/2025:14:16:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6a61ff59-f64b-42c8-82e2-60610c28d895 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.089","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a07a7daf74681243cb11ef8f7898192a"} device-1 | {"level":"info","message":"PATCH /devices/6a61ff59-f64b-42c8-82e2-60610c28d895 200 85ms","method":"PATCH","requestID":"a07a7daf74681243cb11ef8f7898192a","responseTime":85,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNn0.G8iugm6wq2ZZquFgm6oS71I-7MKtpvUGQIlykHxjqYY","level":"info","message":"auth send jwt","requestID":"73e42f2d826cda22b887c972a03cb75f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"73e42f2d826cda22b887c972a03cb75f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"73e42f2d826cda22b887c972a03cb75f"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:46Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69898,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"73e42f2d826cda22b887c972a03cb75f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849806,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwNn0.G8iugm6wq2ZZquFgm6oS71I-7MKtpvUGQIlykHxjqYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"73e42f2d826cda22b887c972a03cb75f","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"73e42f2d826cda22b887c972a03cb75f"} gateway-1 | {"time_local":"28/Apr/2025:14:16:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6a61ff59-f64b-42c8-82e2-60610c28d895/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.18","requestID":"73e42f2d826cda22b887c972a03cb75f"} device-1 | {"level":"info","message":"POST /devices/6a61ff59-f64b-42c8-82e2-60610c28d895/websocket 200 14ms","method":"POST","requestID":"73e42f2d826cda22b887c972a03cb75f","responseTime":14,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1a3c47fda01140495395df13022ade42","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"1a3c47fda01140495395df13022ade42","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/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":"1a3c47fda01140495395df13022ade42"} device-1 | {"level":"info","message":"OPTIONS /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/websocket 200 1ms","method":"OPTIONS","requestID":"1a3c47fda01140495395df13022ade42","responseTime":1,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os","level":"info","message":"auth send jwt","requestID":"95a914728a172657a3a78a1a5ea048d2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"95a914728a172657a3a78a1a5ea048d2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"95a914728a172657a3a78a1a5ea048d2"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778539,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"95a914728a172657a3a78a1a5ea048d2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"95a914728a172657a3a78a1a5ea048d2","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"95a914728a172657a3a78a1a5ea048d2"} gateway-1 | {"time_local":"28/Apr/2025:14:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/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":"95a914728a172657a3a78a1a5ea048d2"} device-1 | {"level":"info","message":"POST /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/websocket 200 31ms","method":"POST","requestID":"95a914728a172657a3a78a1a5ea048d2","responseTime":31,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os","level":"info","message":"auth send jwt","requestID":"a41f71540035375c7706c41247d1c775"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a41f71540035375c7706c41247d1c775","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a41f71540035375c7706c41247d1c775"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669443,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a41f71540035375c7706c41247d1c775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a41f71540035375c7706c41247d1c775","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:44.930546591Z"}]},"request_id":"2a73070e-e4e0-494d-8c62-51d867c11124","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.3832982} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a41f71540035375c7706c41247d1c775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a41f71540035375c7706c41247d1c775"} gateway-1 | {"time_local":"28/Apr/2025:14:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6? 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":"a41f71540035375c7706c41247d1c775"} device-1 | {"level":"info","message":"GET /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6? 200 9ms","method":"GET","requestID":"a41f71540035375c7706c41247d1c775","responseTime":9,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os","level":"info","message":"auth send jwt","requestID":"0e6f6b109d126f208f312d87f0148eec"} authentication-1 | {"level":"info","message":"GET /auth 200 16ms","method":"GET","requestID":"0e6f6b109d126f208f312d87f0148eec","responseTime":16,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0e6f6b109d126f208f312d87f0148eec"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756182,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0e6f6b109d126f208f312d87f0148eec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e6f6b109d126f208f312d87f0148eec","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:45.022746811Z"}]},"request_id":"f5791af5-e30b-454b-83c9-698be69e3037","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.4106674} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0e6f6b109d126f208f312d87f0148eec","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0e6f6b109d126f208f312d87f0148eec"} gateway-1 | {"time_local":"28/Apr/2025:14:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a61ff59-f64b-42c8-82e2-60610c28d895? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e6f6b109d126f208f312d87f0148eec"} device-1 | {"level":"info","message":"GET /devices/6a61ff59-f64b-42c8-82e2-60610c28d895? 200 9ms","method":"GET","requestID":"0e6f6b109d126f208f312d87f0148eec","responseTime":9,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os","level":"info","message":"auth send jwt","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1c46f6effd6bd987cb9780ef3272a2e8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.349735,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"1c46f6effd6bd987cb9780ef3272a2e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1c46f6effd6bd987cb9780ef3272a2e8","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Attempting to run experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Attempting to book experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Successfully booked experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b978d50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b97b460-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051473,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6b978d50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6b978d50-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792705,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6b97b460-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6b97b460-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:44.930546591Z"}]},"request_id":"888be4be-3e4f-42c2-a540-a17d3dc8613d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.5336921} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b978d50-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:45.022746811Z"}]},"request_id":"b71ad979-508a-4617-ba8f-28715bc3590a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.5342498} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6b97b460-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b978d50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6? 200 13ms","method":"GET","requestID":"6b978d50-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b97b460-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/6a61ff59-f64b-42c8-82e2-60610c28d895? 200 13ms","method":"GET","requestID":"6b97b460-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Setting up experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Successfully set up experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ba19f70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ba1c680-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Successfully running experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ba214a0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6466,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ba19f70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6ba19f70-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.087314,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ba1c680-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"6ba1c680-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0575dbf9-c8c5-4f41-8e77-4b9b2517de80","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.6056724} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.147381,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ba214a0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","object_type":"device","rebac_allow":false,"scope_allow":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":"6ba214a0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:44.930546591Z"}]},"request_id":"3e9cfde6-bce5-4be8-9994-58d89b5958b1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.606752} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:45.022746811Z"}]},"request_id":"cba6130c-1f80-4137-a880-2442e3cccad9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.608077} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6ba19f70-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6ba1c680-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2451b343-5939-4232-92da-69e0dedbf91a#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2451b343-5939-4232-92da-69e0dedbf91a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"1d95e7fa-0cfc-4cf3-9173-29e683f91a85","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.6147385} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83658555-4c28-49f9-a4a9-fecc793d92ae","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.6149302} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ba214a0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling 200 22ms","method":"POST","requestID":"6ba214a0-243b-11f0-b067-2fe344ae06f8","responseTime":22,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"1c46f6effd6bd987cb9780ef3272a2e8","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ba19f70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6? 200 26ms","method":"GET","requestID":"6ba19f70-243b-11f0-b067-2fe344ae06f8","responseTime":26,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ba5be20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ba1c680-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/6a61ff59-f64b-42c8-82e2-60610c28d895? 200 27ms","method":"GET","requestID":"6ba1c680-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895?"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ba65a60-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07015609-5616-4d31-be3b-3e9dd9e92406","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.6221707} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500833,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ba5be20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","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/2451b343-5939-4232-92da-69e0dedbf91a","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6ba5be20-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 229ms","method":"POST","requestID":"1c46f6effd6bd987cb9780ef3272a2e8","responseTime":229,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} gateway-1 | {"time_local":"28/Apr/2025:14:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.210","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ba5be20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling 200 33ms","method":"POST","requestID":"6ba5be20-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92fd469f-1538-4a7f-adb1-91187d560263","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.6520267} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os","level":"info","message":"auth send jwt","requestID":"aa8365ce94144c84906569fd94178f84"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.456007,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa8365ce94144c84906569fd94178f84","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ba65a60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","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":"getDevicesByDeviceId called","requestID":"aa8365ce94144c84906569fd94178f84"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"6ba65a60-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719116,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ba65a60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling 200 35ms","method":"POST","requestID":"6ba65a60-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"aa8365ce94144c84906569fd94178f84","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"aa8365ce94144c84906569fd94178f84","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6babffb0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:44.930546591Z"}]},"request_id":"da2d392d-d393-4d59-91ec-6a92b49a25fe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.66073} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aa8365ce94144c84906569fd94178f84","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b3b44c4-6a1f-486d-b6b3-dfb5a9b7bb2e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.66383} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aa8365ce94144c84906569fd94178f84"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.217835,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} gateway-1 | {"time_local":"28/Apr/2025:14:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6? 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":"aa8365ce94144c84906569fd94178f84"} device-1 | {"level":"info","message":"GET /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6? 200 10ms","method":"GET","requestID":"aa8365ce94144c84906569fd94178f84","responseTime":10,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6babffb0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","rebac_allow":false,"scope_allow":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":"6babffb0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6babffb0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling 200 8ms","method":"POST","requestID":"6babffb0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os","level":"info","message":"auth send jwt","requestID":"e6906ad8afd5e1cdca1b68cee6ecf7ef"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e6906ad8afd5e1cdca1b68cee6ecf7ef","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Building connection plan","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} 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":"f8393b85-334c-4c45-936a-e5a492f827b7"},{"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":"3f1f753e-70a1-45b4-ab8e-73e4ce41de2a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9e92fdcb-b504-4a8e-a551-23f9f8da9579"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e6906ad8afd5e1cdca1b68cee6ecf7ef"} 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/6a61ff59-f64b-42c8-82e2-60610c28d895"},{"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/b5cfbeec-7f52-48c5-9f10-30585eb328a6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6badad60-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.993582,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e6906ad8afd5e1cdca1b68cee6ecf7ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e6906ad8afd5e1cdca1b68cee6ecf7ef","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.653806,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6badad60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849807,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwN30.hSPJShD0k1j1LfvyNlNtstDsOOK0gpLZhnMPwYgW7Os"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"6badad60-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:45.022746811Z"}]},"request_id":"55840269-d647-4776-9f2b-69d7cefc727d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.7013016} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e6906ad8afd5e1cdca1b68cee6ecf7ef","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e6906ad8afd5e1cdca1b68cee6ecf7ef"} gateway-1 | {"time_local":"28/Apr/2025:14:16:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a61ff59-f64b-42c8-82e2-60610c28d895? 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":"e6906ad8afd5e1cdca1b68cee6ecf7ef"} device-1 | {"level":"info","message":"GET /devices/6a61ff59-f64b-42c8-82e2-60610c28d895? 200 35ms","method":"GET","requestID":"e6906ad8afd5e1cdca1b68cee6ecf7ef","responseTime":35,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"a44c2f08-b070-4640-8bcb-2a35a599468b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.7054846} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"754d5b63-d8e8-4b68-959a-2bd65733e8e8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.70576} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"6badad60-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6badad60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6badad60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33'","requestID":"6badad60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33'","requestID":"6badad60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6badad60-243b-11f0-b067-2fe344ae06f8"} 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":"6badad60-243b-11f0-b067-2fe344ae06f8","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":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"6badad60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33","device":"b5cfbeec-7f52-48c5-9f10-30585eb328a6","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/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1c46f6effd6bd987cb9780ef3272a2e8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bc1aa90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"device":"b5cfbeec-7f52-48c5-9f10-30585eb328a6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b5cfbeec-7f52-48c5-9f10-30585eb328a6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54b2360c-4f30-460a-86bb-e0f057917661","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.8073285} device-1 | {"content":{"sdp":"v=0\r\no=- 749276745439827273 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:+RQt\r\na=ice-pwd:UP8wM72aRc5lMY8Zq5Ry+MjH\r\na=ice-options:trickle\r\na=fingerprint:sha-256 40:DC:91:B7:E7:B2:FA:AC:73:6A:A1:64:1C:AB:AC:87:06:D4:91:0A:4F:C7:23:BF:27:BB:12:16:3B:A4:89:B8\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b5cfbeec-7f52-48c5-9f10-30585eb328a6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.750807,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6bc1aa90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","object_type":"device","rebac_allow":false,"scope_allow":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":"6bc1aa90-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bc1aa90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling 200 12ms","method":"POST","requestID":"6bc1aa90-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6bc3cd70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdb6fbd4-65da-4415-85a6-5e769fa9037f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849807.8193054} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.29729,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6bc3cd70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","rebac_allow":false,"scope_allow":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":"6bc3cd70-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6bc3cd70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling 200 32ms","method":"POST","requestID":"6bc3cd70-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling"} device-1 | {"device":"b5cfbeec-7f52-48c5-9f10-30585eb328a6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"91a30892-76b4-435b-a5be-f6ffdd92ae33","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/91a30892-76b4-435b-a5be-f6ffdd92ae33' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91a30892-76b4-435b-a5be-f6ffdd92ae33","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"63dfc5de8299790961ba71ab6f70a2fd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"63dfc5de8299790961ba71ab6f70a2fd","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895"},{"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/b5cfbeec-7f52-48c5-9f10-30585eb328a6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33"}}},"level":"info","message":"received a callback","requestID":"63dfc5de8299790961ba71ab6f70a2fd"} device-1 | {"content":{"candidate":"candidate:1120074397 1 udp 2113937151 6ad2db0e-a32d-4b19-8ea1-915e141f621f.local 44754 typ host generation 0 ufrag +RQt network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b5cfbeec-7f52-48c5-9f10-30585eb328a6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b5cfbeec-7f52-48c5-9f10-30585eb328a6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"63dfc5de8299790961ba71ab6f70a2fd","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"63dfc5de8299790961ba71ab6f70a2fd"} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5cfbeec-7f52-48c5-9f10-30585eb328a6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"91a30892-76b4-435b-a5be-f6ffdd92ae33","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"91a30892-76b4-435b-a5be-f6ffdd92ae33","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/91a30892-76b4-435b-a5be-f6ffdd92ae33' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91a30892-76b4-435b-a5be-f6ffdd92ae33","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0c01f598276bea2c839b6ca162a600a7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"0c01f598276bea2c839b6ca162a600a7","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/6a61ff59-f64b-42c8-82e2-60610c28d895"},{"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/b5cfbeec-7f52-48c5-9f10-30585eb328a6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33"}}},"level":"info","message":"received a callback","requestID":"0c01f598276bea2c839b6ca162a600a7"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6cf8f210-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91a30892-76b4-435b-a5be-f6ffdd92ae33","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3aef761-73c4-4bca-8791-b5a540829d99","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849809.845463} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.733225,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6cf8f210-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33","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":"6cf8f210-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6cf8f210-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33 200 8ms","method":"GET","requestID":"6cf8f210-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"0c01f598276bea2c839b6ca162a600a7","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"0c01f598276bea2c839b6ca162a600a7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6cfc4d70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a784875b-8e00-418f-9133-f4a3548102f5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849809.8679163} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.488734,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6cfc4d70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","rebac_allow":false,"scope_allow":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":"6cfc4d70-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6cfc4d70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling 200 9ms","method":"POST","requestID":"6cfc4d70-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6cfdfb20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc8b1fa0-63fe-433f-b3d5-57ca19dc971d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849809.8787518} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.544667,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6cfdfb20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","object_type":"device","rebac_allow":false,"scope_allow":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":"6cfdfb20-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6cfdfb20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling 200 13ms","method":"POST","requestID":"6cfdfb20-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwOX0.ImJJR-J6sj-XoxfsLgEIgfQMeBXmniYYob4uFFk3RnM","level":"info","message":"auth send jwt","requestID":"061300cbd0ac2e450677695069e9a4fb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"061300cbd0ac2e450677695069e9a4fb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2451b343-5939-4232-92da-69e0dedbf91a","requestID":"061300cbd0ac2e450677695069e9a4fb"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.366984,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"061300cbd0ac2e450677695069e9a4fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849809,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwOX0.ImJJR-J6sj-XoxfsLgEIgfQMeBXmniYYob4uFFk3RnM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"061300cbd0ac2e450677695069e9a4fb","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2451b343-5939-4232-92da-69e0dedbf91a","requestID":"061300cbd0ac2e450677695069e9a4fb"} gateway-1 | {"time_local":"28/Apr/2025:14:16:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2451b343-5939-4232-92da-69e0dedbf91a HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"061300cbd0ac2e450677695069e9a4fb"} experiment-1 | {"level":"info","message":"GET /experiments/2451b343-5939-4232-92da-69e0dedbf91a 200 12ms","method":"GET","requestID":"061300cbd0ac2e450677695069e9a4fb","responseTime":12,"status":200,"url":"/experiments/2451b343-5939-4232-92da-69e0dedbf91a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwOX0.ImJJR-J6sj-XoxfsLgEIgfQMeBXmniYYob4uFFk3RnM","level":"info","message":"auth send jwt","requestID":"8dfb954a885f920111e8bd6372e32dbf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8dfb954a885f920111e8bd6372e32dbf","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2451b343-5939-4232-92da-69e0dedbf91a","requestID":"8dfb954a885f920111e8bd6372e32dbf"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.988127,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8dfb954a885f920111e8bd6372e32dbf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849809,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwOX0.ImJJR-J6sj-XoxfsLgEIgfQMeBXmniYYob4uFFk3RnM"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"8dfb954a885f920111e8bd6372e32dbf","responseTime":24,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Attempting to finish experiment","requestID":"8dfb954a885f920111e8bd6372e32dbf"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6d0b1a80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.685684,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6d0b1a80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849809,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgwOX0.ImJJR-J6sj-XoxfsLgEIgfQMeBXmniYYob4uFFk3RnM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6d0b1a80-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33","device":"b5cfbeec-7f52-48c5-9f10-30585eb328a6","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a61ff59-f64b-42c8-82e2-60610c28d895","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/91a30892-76b4-435b-a5be-f6ffdd92ae33' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91a30892-76b4-435b-a5be-f6ffdd92ae33","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91a30892-76b4-435b-a5be-f6ffdd92ae33': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91a30892-76b4-435b-a5be-f6ffdd92ae33","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"ef0172c1-aa6e-4a1e-acf4-feb2ec94b415","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849809.974932} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8f98b96-b0e9-4998-9543-c6118458616d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849809.9751394} 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":"closed","url":"http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895"},{"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/b5cfbeec-7f52-48c5-9f10-30585eb328a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33"}}},"level":"info","message":"received a callback","requestID":"def8d5c5a09aebbf680dacacc4ed5f75"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"def8d5c5a09aebbf680dacacc4ed5f75","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"6d0b1a80-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"def8d5c5a09aebbf680dacacc4ed5f75","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"18ff47be58fabb580e047079f0ac8111","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"18ff47be58fabb580e047079f0ac8111","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":"closed","url":"http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895"},{"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/b5cfbeec-7f52-48c5-9f10-30585eb328a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33"}}},"level":"info","message":"received a callback","requestID":"18ff47be58fabb580e047079f0ac8111"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6d0b1a80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33 204 96ms","method":"DELETE","requestID":"6d0b1a80-243b-11f0-b067-2fe344ae06f8","responseTime":96,"status":204,"url":"/peerconnections/91a30892-76b4-435b-a5be-f6ffdd92ae33"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2451b343-5939-4232-92da-69e0dedbf91a"},"level":"info","message":"Successfully finished experiment","requestID":"8dfb954a885f920111e8bd6372e32dbf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6d1c5890-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:50Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a61ff59-f64b-42c8-82e2-60610c28d895","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2371dee5-90ea-45df-a2d2-822f53d2ec3a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.0780318} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.858546,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6d1c5890-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895","object_type":"device","rebac_allow":false,"scope_allow":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":"6d1c5890-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6d1c5890-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling 200 10ms","method":"POST","requestID":"6d1c5890-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/6a61ff59-f64b-42c8-82e2-60610c28d895/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6d1e0640-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2451b343-5939-4232-92da-69e0dedbf91a': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2451b343-5939-4232-92da-69e0dedbf91a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"0ea1ce8e-d67e-4569-93bf-76a86f6544c5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.087354} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31026e1d-349a-4b14-869d-fd506831d381","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.0876064} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:50Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"8dfb954a885f920111e8bd6372e32dbf","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5cfbeec-7f52-48c5-9f10-30585eb328a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4fa5e9b7-ba7a-4486-b713-bb6c37b966b2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.0899277} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.304602,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6d1e0640-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6","object_type":"device","rebac_allow":false,"scope_allow":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":"6d1e0640-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6d1e0640-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling 200 10ms","method":"POST","requestID":"6d1e0640-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/b5cfbeec-7f52-48c5-9f10-30585eb328a6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2451b343-5939-4232-92da-69e0dedbf91a","requestID":"8dfb954a885f920111e8bd6372e32dbf"} gateway-1 | {"time_local":"28/Apr/2025:14:16:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2451b343-5939-4232-92da-69e0dedbf91a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.213","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8dfb954a885f920111e8bd6372e32dbf"} experiment-1 | {"level":"info","message":"DELETE /experiments/2451b343-5939-4232-92da-69e0dedbf91a 204 209ms","method":"DELETE","requestID":"8dfb954a885f920111e8bd6372e32dbf","responseTime":209,"status":204,"url":"/experiments/2451b343-5939-4232-92da-69e0dedbf91a"} gateway-1 | {"time_local":"28/Apr/2025:14:16:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2577","request_time":"4.102","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"4a3553b2c9172d305ea02a6d8bdf02d9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 164ms","method":"POST","requestID":"def8d5c5a09aebbf680dacacc4ed5f75","responseTime":164,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"18ff47be58fabb580e047079f0ac8111","responseTime":139,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMH0.xCp4W_399xTuVX6QjzA2HpdwrowsFxPD0s_KiiGX6oY","level":"info","message":"auth send jwt","requestID":"89d80ff0e6ec5a85422b98f9da79739b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:50 +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.169","http_referrer":"","http_user_agent":"node-fetch","requestID":"def8d5c5a09aebbf680dacacc4ed5f75"} device-1 | {"level":"info","message":"postDevices called","requestID":"89d80ff0e6ec5a85422b98f9da79739b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"89d80ff0e6ec5a85422b98f9da79739b","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"18ff47be58fabb580e047079f0ac8111"} gateway-1 | {"time_local":"28/Apr/2025:14:16:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2784","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":"1f35f706da73444969c5f491854e30eb"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.122784,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:50Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6a61ff59-f64b-42c8-82e2-60610c28d895' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"89d80ff0e6ec5a85422b98f9da79739b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849810,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMH0.xCp4W_399xTuVX6QjzA2HpdwrowsFxPD0s_KiiGX6oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"89d80ff0e6ec5a85422b98f9da79739b","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/b5cfbeec-7f52-48c5-9f10-30585eb328a6' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"77947857-cb81-494a-a99c-c16ce636b19b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.1625695} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89d80ff0e6ec5a85422b98f9da79739b","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c959ecf1-ab50-48dc-ade2-8138204944dd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.1670325} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"89d80ff0e6ec5a85422b98f9da79739b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"a142c0f0-a882-4813-bee6-201f86973616","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.1801596} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b120b5f-b5e3-45ae-9e73-87ee81a138dc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.1803813} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"89d80ff0e6ec5a85422b98f9da79739b","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.180139382Z"}]},"request_id":"c76711a5-ed77-4aa2-8709-190014ef6dbe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.1849508} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"89d80ff0e6ec5a85422b98f9da79739b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"89d80ff0e6ec5a85422b98f9da79739b"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"89d80ff0e6ec5a85422b98f9da79739b","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMH0.xCp4W_399xTuVX6QjzA2HpdwrowsFxPD0s_KiiGX6oY","level":"info","message":"auth send jwt","requestID":"47a78f236b2562a892bc022232c50280"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"47a78f236b2562a892bc022232c50280","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"47a78f236b2562a892bc022232c50280"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:50Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.839831,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"47a78f236b2562a892bc022232c50280","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849810,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMH0.xCp4W_399xTuVX6QjzA2HpdwrowsFxPD0s_KiiGX6oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"47a78f236b2562a892bc022232c50280","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:14:16:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89d80ff0e6ec5a85422b98f9da79739b"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3cf75410-d1ed-46e6-9840-627af1b07893","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.2079568} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"47a78f236b2562a892bc022232c50280","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a8b520f-3c36-4f16-b4a5-142df6942728","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.2125356} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"47a78f236b2562a892bc022232c50280","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"c998190e-98c2-4a33-9bd6-529380fae9af","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.2449589} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a74a23f-d886-44fb-a408-a96fc5e428a1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.2450497} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"47a78f236b2562a892bc022232c50280","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.244938121Z"}]},"request_id":"d5852ff9-996d-46c9-b536-536402b6a448","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849810.2496176} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"47a78f236b2562a892bc022232c50280","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"47a78f236b2562a892bc022232c50280"} gateway-1 | {"time_local":"28/Apr/2025:14:16:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47a78f236b2562a892bc022232c50280"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"47a78f236b2562a892bc022232c50280","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMX0.QM3sqoG7mCA9TWMgkP1Y90O6ncJGdGiDdWaLxikqpFI","level":"info","message":"auth send jwt","requestID":"8a74ee0026ede8afef2850fda327caf1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8a74ee0026ede8afef2850fda327caf1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8a74ee0026ede8afef2850fda327caf1"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:51Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708471,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a74ee0026ede8afef2850fda327caf1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849811,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMX0.QM3sqoG7mCA9TWMgkP1Y90O6ncJGdGiDdWaLxikqpFI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8a74ee0026ede8afef2850fda327caf1","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.244938121Z"}]},"request_id":"f2c387db-d71e-49fd-93e9-3463c3910500","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849811.1560748} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8a74ee0026ede8afef2850fda327caf1","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49976f4e-d3ad-4866-bb0d-364fb9c7c38e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849811.1602} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8a74ee0026ede8afef2850fda327caf1","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.244938121Z"}]},"request_id":"a49dad40-0747-490a-adc1-d2b951d9cd6e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849811.2012966} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"8a74ee0026ede8afef2850fda327caf1","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8a74ee0026ede8afef2850fda327caf1"} gateway-1 | {"time_local":"28/Apr/2025:14:16:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.084","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8a74ee0026ede8afef2850fda327caf1"} device-1 | {"level":"info","message":"PATCH /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa 200 80ms","method":"PATCH","requestID":"8a74ee0026ede8afef2850fda327caf1","responseTime":80,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMX0.QM3sqoG7mCA9TWMgkP1Y90O6ncJGdGiDdWaLxikqpFI","level":"info","message":"auth send jwt","requestID":"ef441ed93585d9ef69aff6a7a3f0dec3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ef441ed93585d9ef69aff6a7a3f0dec3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ef441ed93585d9ef69aff6a7a3f0dec3"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:51Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769981,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"ef441ed93585d9ef69aff6a7a3f0dec3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849811,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMX0.QM3sqoG7mCA9TWMgkP1Y90O6ncJGdGiDdWaLxikqpFI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ef441ed93585d9ef69aff6a7a3f0dec3","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ef441ed93585d9ef69aff6a7a3f0dec3"} device-1 | {"level":"info","message":"POST /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/websocket 200 15ms","method":"POST","requestID":"ef441ed93585d9ef69aff6a7a3f0dec3","responseTime":15,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/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.18","requestID":"ef441ed93585d9ef69aff6a7a3f0dec3"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"94fa4a0964ce78ed08d904e041c0b4a0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"94fa4a0964ce78ed08d904e041c0b4a0","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/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":"94fa4a0964ce78ed08d904e041c0b4a0"} device-1 | {"level":"info","message":"OPTIONS /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/websocket 200 1ms","method":"OPTIONS","requestID":"94fa4a0964ce78ed08d904e041c0b4a0","responseTime":1,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8","level":"info","message":"auth send jwt","requestID":"423a62c1eaf7d3b643305f72163c9ae8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"423a62c1eaf7d3b643305f72163c9ae8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"423a62c1eaf7d3b643305f72163c9ae8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.185869,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"423a62c1eaf7d3b643305f72163c9ae8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"423a62c1eaf7d3b643305f72163c9ae8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"423a62c1eaf7d3b643305f72163c9ae8"} device-1 | {"level":"info","message":"POST /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/websocket 200 26ms","method":"POST","requestID":"423a62c1eaf7d3b643305f72163c9ae8","responseTime":26,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"423a62c1eaf7d3b643305f72163c9ae8"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8","level":"info","message":"auth send jwt","requestID":"2812049c1f716aca3a7f034aa106f671"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2812049c1f716aca3a7f034aa106f671","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2812049c1f716aca3a7f034aa106f671"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660376,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2812049c1f716aca3a7f034aa106f671","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2812049c1f716aca3a7f034aa106f671","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.180139382Z"}]},"request_id":"baf32d1c-4f17-4683-a1e2-e7801265359e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.5491352} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2812049c1f716aca3a7f034aa106f671","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2812049c1f716aca3a7f034aa106f671"} gateway-1 | {"time_local":"28/Apr/2025:14:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b? 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":"2812049c1f716aca3a7f034aa106f671"} device-1 | {"level":"info","message":"GET /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b? 200 13ms","method":"GET","requestID":"2812049c1f716aca3a7f034aa106f671","responseTime":13,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8","level":"info","message":"auth send jwt","requestID":"eb2a24217da3b1d473e5c884a0cbc469"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb2a24217da3b1d473e5c884a0cbc469","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb2a24217da3b1d473e5c884a0cbc469"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.901174,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"eb2a24217da3b1d473e5c884a0cbc469","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb2a24217da3b1d473e5c884a0cbc469","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.244938121Z"}]},"request_id":"281ab334-daa5-4f8b-b6e5-dc0b07977c74","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.5670183} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb2a24217da3b1d473e5c884a0cbc469","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb2a24217da3b1d473e5c884a0cbc469"} device-1 | {"level":"info","message":"GET /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa? 200 12ms","method":"GET","requestID":"eb2a24217da3b1d473e5c884a0cbc469","responseTime":12,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa? 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":"eb2a24217da3b1d473e5c884a0cbc469"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8","level":"info","message":"auth send jwt","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.697929,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Attempting to run experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Attempting to book experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Successfully booked experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ea54280-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ea56990-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898389,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ea54280-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6ea54280-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887255,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ea56990-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6ea56990-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.180139382Z"}]},"request_id":"205db149-36ba-48f7-8058-3c29b73348d7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.6558306} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6ea54280-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.244938121Z"}]},"request_id":"b39b3e41-26c0-4357-b078-44adff698e27","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.656731} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6ea56990-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ea54280-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b? 200 12ms","method":"GET","requestID":"6ea54280-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6ea56990-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa? 200 12ms","method":"GET","requestID":"6ea56990-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Setting up experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Successfully set up experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6eb484c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6eb4abd0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6eb4f9f0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Successfully running experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.848473,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6eb484c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6eb484c0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678124,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6eb4abd0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6eb4abd0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea862ab8-7849-426c-801d-d26fec736e70","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.7569435} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.558606,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6eb4f9f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","rebac_allow":false,"scope_allow":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":"6eb4f9f0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.244938121Z"}]},"request_id":"eecc29bc-56ee-4628-b1a0-94f2fd6efba3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.7594187} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"6eb4abd0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.180139382Z"}]},"request_id":"e5c3a53f-7ab8-4284-b0a6-9e10824e34ab","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.785984} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6eb4f9f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling 200 35ms","method":"POST","requestID":"6eb4f9f0-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"6eb484c0-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ebac650-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"06aa9338-8592-4edd-b85c-69e1cd6c69e5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.7896228} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cbe6de0-e853-4793-bff5-378b1ddd4590","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.790002} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6eb4abd0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa? 200 43ms","method":"GET","requestID":"6eb4abd0-243b-11f0-b067-2fe344ae06f8","responseTime":43,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6eb484c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b? 200 44ms","method":"GET","requestID":"6eb484c0-243b-11f0-b067-2fe344ae06f8","responseTime":44,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b?"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94b8164e-7a57-4033-ad6a-5943edbb2cf8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.7944958} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.257938,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ebac650-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","rebac_allow":false,"scope_allow":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":"6ebac650-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ebbd7c0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} gateway-1 | {"time_local":"28/Apr/2025:14:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ebac650-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 225ms","method":"POST","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231","responseTime":225,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling 200 11ms","method":"POST","requestID":"6ebac650-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ddb674c-7d4f-4966-8aa2-fe48f42461a6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.8012826} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.921036,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ebbd7c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","rebac_allow":false,"scope_allow":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":"6ebbd7c0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8","level":"info","message":"auth send jwt","requestID":"d1274a3ea9055bcec1c152bef7dd9cc1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d1274a3ea9055bcec1c152bef7dd9cc1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d1274a3ea9055bcec1c152bef7dd9cc1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ebbd7c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling 200 10ms","method":"POST","requestID":"6ebbd7c0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683135,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ebdac80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"d1274a3ea9055bcec1c152bef7dd9cc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d1274a3ea9055bcec1c152bef7dd9cc1","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.180139382Z"}]},"request_id":"f3fd9d77-e7d4-49d8-b65f-a4f12607e279","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.8364022} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a2b92ca-387f-443c-be51-dbdfd09a96a6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.8364303} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d1274a3ea9055bcec1c152bef7dd9cc1","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.612009,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ebdac80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","rebac_allow":false,"scope_allow":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":"6ebdac80-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d1274a3ea9055bcec1c152bef7dd9cc1"} gateway-1 | {"time_local":"28/Apr/2025:14:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b? 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":"d1274a3ea9055bcec1c152bef7dd9cc1"} device-1 | {"level":"info","message":"GET /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b? 200 35ms","method":"GET","requestID":"d1274a3ea9055bcec1c152bef7dd9cc1","responseTime":35,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ebdac80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling 200 33ms","method":"POST","requestID":"6ebdac80-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Building connection plan","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} 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":"b24bba60-406b-401f-8891-ea952521cf0c"},{"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":"ca023f85-06cf-4516-b07a-7054adc9cead"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"06827d43-5c12-4827-b92a-3a0d32fdbfe5"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} 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/4aa17721-faa1-4029-b2ea-3ccf590ff1aa"},{"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/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6ec303b0-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8","level":"info","message":"auth send jwt","requestID":"29a0355910fbe09db19f6cf3c79bc327"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29a0355910fbe09db19f6cf3c79bc327","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"29a0355910fbe09db19f6cf3c79bc327"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:41732","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.782691,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ec303b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6ec303b0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.628263,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"29a0355910fbe09db19f6cf3c79bc327","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849812,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxMn0.gwWhqsXD5oEQ-uVeSGx7oHxb6ixwQIhbDiJ6hC9sjO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"29a0355910fbe09db19f6cf3c79bc327","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:50.244938121Z"}]},"request_id":"73dabd0f-ea44-4b4c-9e45-e17546130c5a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.8517609} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"29a0355910fbe09db19f6cf3c79bc327","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"29a0355910fbe09db19f6cf3c79bc327"} gateway-1 | {"time_local":"28/Apr/2025:14:16:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa? 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":"29a0355910fbe09db19f6cf3c79bc327"} device-1 | {"level":"info","message":"GET /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa? 200 9ms","method":"GET","requestID":"29a0355910fbe09db19f6cf3c79bc327","responseTime":9,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"05acd974-68d7-4834-b289-bc48405865ce","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.855491} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0848f9dd-cad4-4e11-960e-9a31e54d63e2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.855602} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"6ec303b0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6ec303b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6ec303b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d'","requestID":"6ec303b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d'","requestID":"6ec303b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6ec303b0-243b-11f0-b067-2fe344ae06f8"} 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":"6ec303b0-243b-11f0-b067-2fe344ae06f8","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":"6ec303b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d","device":"7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","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/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5e05bdc2f0c2adf77f4bd80cdcf0c231"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ed21ee0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} device-1 | {"device":"7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06fb27d6-ae45-42ce-ab44-e88bf0a33236","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.9489684} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.892635,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ed21ee0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","rebac_allow":false,"scope_allow":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":"6ed21ee0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 7460791940754982817 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:FNEC\r\na=ice-pwd:C2FS2emSGcGBTk0kbwqf5qJH\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A4:6E:85:37:36:AE:FB:0C:A1:FC:6E:70:A9:8F:F9:2B:FD:45:4E:BC:77:43:4B:14:8A:2B:F6:47:AA:CB:28:0E\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ed21ee0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling 200 35ms","method":"POST","requestID":"6ed21ee0-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ed7eb40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2330248a-c016-43d9-bf2b-c0bd2e590600","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849812.9842465} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.198683,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6ed7eb40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","rebac_allow":false,"scope_allow":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":"6ed7eb40-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ed7eb40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling 200 8ms","method":"POST","requestID":"6ed7eb40-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling"} device-1 | {"device":"7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"549f6b86-8416-46e7-a4b3-948e790c454d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/549f6b86-8416-46e7-a4b3-948e790c454d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"549f6b86-8416-46e7-a4b3-948e790c454d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed18c7458cb4fea0e424ea8214294da3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"ed18c7458cb4fea0e424ea8214294da3","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa"},{"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/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d"}}},"level":"info","message":"received a callback","requestID":"ed18c7458cb4fea0e424ea8214294da3"} device-1 | {"content":{"candidate":"candidate:4250903427 1 udp 2113937151 d6c9dcc9-bff0-432a-badb-8b27d60879d6.local 37118 typ host generation 0 ufrag FNEC network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"ed18c7458cb4fea0e424ea8214294da3","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16:54 +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":"ed18c7458cb4fea0e424ea8214294da3"} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"549f6b86-8416-46e7-a4b3-948e790c454d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"549f6b86-8416-46e7-a4b3-948e790c454d","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/549f6b86-8416-46e7-a4b3-948e790c454d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"549f6b86-8416-46e7-a4b3-948e790c454d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c8c7eeb40fce2b242f60ae36995d898d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"c8c7eeb40fce2b242f60ae36995d898d","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/4aa17721-faa1-4029-b2ea-3ccf590ff1aa"},{"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/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d"}}},"level":"info","message":"received a callback","requestID":"c8c7eeb40fce2b242f60ae36995d898d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"700dfa40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F549f6b86-8416-46e7-a4b3-948e790c454d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffff831f-b20d-4eca-89b0-44ec6c6f0ec2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.0166495} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.400318,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"700dfa40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d","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":"700dfa40-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"700dfa40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d 200 8ms","method":"GET","requestID":"700dfa40-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"c8c7eeb40fce2b242f60ae36995d898d","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8c7eeb40fce2b242f60ae36995d898d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"701155a0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0ae6fd1-61d3-44a9-8e22-8412ffd2dabd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.0380032} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.233755,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"701155a0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","rebac_allow":false,"scope_allow":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":"701155a0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"701155a0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling 200 7ms","method":"POST","requestID":"701155a0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7012b530-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f78f7808-4a9e-4421-911d-ff6619c603ef","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.047218} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.202562,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7012b530-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","rebac_allow":false,"scope_allow":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":"7012b530-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7012b530-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling 200 7ms","method":"POST","requestID":"7012b530-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNX0.3h7g77gTMK3sYMLQajcyWfvlc7rln4D8PJElcdN-1Fs","level":"info","message":"auth send jwt","requestID":"350a5d2e641ce4addf36b00b857dbdd8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"350a5d2e641ce4addf36b00b857dbdd8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","requestID":"350a5d2e641ce4addf36b00b857dbdd8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.667136,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"350a5d2e641ce4addf36b00b857dbdd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849815,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNX0.3h7g77gTMK3sYMLQajcyWfvlc7rln4D8PJElcdN-1Fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"350a5d2e641ce4addf36b00b857dbdd8","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","requestID":"350a5d2e641ce4addf36b00b857dbdd8"} experiment-1 | {"level":"info","message":"GET /experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39 200 10ms","method":"GET","requestID":"350a5d2e641ce4addf36b00b857dbdd8","responseTime":10,"status":200,"url":"/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"} gateway-1 | {"time_local":"28/Apr/2025:14:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"350a5d2e641ce4addf36b00b857dbdd8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNX0.3h7g77gTMK3sYMLQajcyWfvlc7rln4D8PJElcdN-1Fs","level":"info","message":"auth send jwt","requestID":"8833f899406ffda79cdae3a1d5f95719"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8833f899406ffda79cdae3a1d5f95719","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","requestID":"8833f899406ffda79cdae3a1d5f95719"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.226332,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8833f899406ffda79cdae3a1d5f95719","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849815,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNX0.3h7g77gTMK3sYMLQajcyWfvlc7rln4D8PJElcdN-1Fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8833f899406ffda79cdae3a1d5f95719","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Attempting to finish experiment","requestID":"8833f899406ffda79cdae3a1d5f95719"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"701d3c80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.639335,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"701d3c80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849815,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNX0.3h7g77gTMK3sYMLQajcyWfvlc7rln4D8PJElcdN-1Fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"701d3c80-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d","device":"7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4aa17721-faa1-4029-b2ea-3ccf590ff1aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/549f6b86-8416-46e7-a4b3-948e790c454d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"549f6b86-8416-46e7-a4b3-948e790c454d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F549f6b86-8416-46e7-a4b3-948e790c454d': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F549f6b86-8416-46e7-a4b3-948e790c454d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"6727d3f0-3734-4cb2-87ca-74545981c597","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.1508183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d82b4817-e4d1-45a9-99c5-f291ce16675d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.151032} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5395d553b112b789b8133d16578268ba","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"5395d553b112b789b8133d16578268ba","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"701d3c80-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a10f8028c41916acc8cc3ad8a8b7a53c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"closed","url":"http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa"},{"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/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d"}}},"level":"info","message":"received a callback","requestID":"5395d553b112b789b8133d16578268ba"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"a10f8028c41916acc8cc3ad8a8b7a53c","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":"closed","url":"http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa"},{"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/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d"}}},"level":"info","message":"received a callback","requestID":"a10f8028c41916acc8cc3ad8a8b7a53c"} device-1 | {"data":{"peerconnection":"549f6b86-8416-46e7-a4b3-948e790c454d","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"701d3c80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d 204 90ms","method":"DELETE","requestID":"701d3c80-243b-11f0-b067-2fe344ae06f8","responseTime":90,"status":204,"url":"/peerconnections/549f6b86-8416-46e7-a4b3-948e790c454d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"},"level":"info","message":"Successfully finished experiment","requestID":"8833f899406ffda79cdae3a1d5f95719"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7030eb90-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4aa17721-faa1-4029-b2ea-3ccf590ff1aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cee61641-954f-4d32-9448-e4c975790bd1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.246387} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.079071,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7030eb90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa","object_type":"device","rebac_allow":false,"scope_allow":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":"7030eb90-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7030eb90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling 200 9ms","method":"POST","requestID":"7030eb90-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"9d0f9e6c-74b1-49aa-b61a-ce7ddbccdc0d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.2510848} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc2ea7a7-4833-481d-89cd-36196d4076f9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.2513704} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"8833f899406ffda79cdae3a1d5f95719","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"70329940-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d451e514-3af2-4f9c-adf1-e6be4ae48d45","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.2808802} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.546447,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"70329940-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b","object_type":"device","rebac_allow":false,"scope_allow":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":"70329940-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"70329940-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling 200 32ms","method":"POST","requestID":"70329940-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39","requestID":"8833f899406ffda79cdae3a1d5f95719"} gateway-1 | {"time_local":"28/Apr/2025:14:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.250","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8833f899406ffda79cdae3a1d5f95719"} experiment-1 | {"level":"info","message":"DELETE /experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39 204 245ms","method":"DELETE","requestID":"8833f899406ffda79cdae3a1d5f95719","responseTime":245,"status":204,"url":"/experiments/bbfb7dd3-ffc6-4aa9-b5c4-1960dea73b39"} gateway-1 | {"time_local":"28/Apr/2025:14:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"4.122","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6068ed398f5ccd2ac7ac1b45b4e70746"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 198ms","method":"POST","requestID":"5395d553b112b789b8133d16578268ba","responseTime":198,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"5395d553b112b789b8133d16578268ba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNX0.3h7g77gTMK3sYMLQajcyWfvlc7rln4D8PJElcdN-1Fs","level":"info","message":"auth send jwt","requestID":"b06018f279105250802b9fbce344ee4b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b06018f279105250802b9fbce344ee4b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 199ms","method":"POST","requestID":"a10f8028c41916acc8cc3ad8a8b7a53c","responseTime":199,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:16: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.202","http_referrer":"","http_user_agent":"node-fetch","requestID":"a10f8028c41916acc8cc3ad8a8b7a53c"} gateway-1 | {"time_local":"28/Apr/2025:14:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2784","request_time":"2.830","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":"a28046a09f63f1db2d1f40823b18fb63"} device-1 | {"level":"info","message":"postDevices called","requestID":"b06018f279105250802b9fbce344ee4b"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4aa17721-faa1-4029-b2ea-3ccf590ff1aa' closed"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.904131,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b06018f279105250802b9fbce344ee4b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849815,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNX0.3h7g77gTMK3sYMLQajcyWfvlc7rln4D8PJElcdN-1Fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b06018f279105250802b9fbce344ee4b","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/7ed4f8d9-4ccd-4daf-862e-cc8028ef0e1b' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b40956bc-b4a9-4a51-bd44-4def24a184a8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.3962283} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b06018f279105250802b9fbce344ee4b","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fc69dd7-301a-472d-9481-ed6c8ce09faf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.400554} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"b06018f279105250802b9fbce344ee4b","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"b9d29d29-1099-4192-b345-1be108d419ca","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.437717} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32e9c916-f690-4a65-8f59-910e9239cdb2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.4380176} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"b06018f279105250802b9fbce344ee4b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.437696397Z"}]},"request_id":"92aec679-8f6c-4505-b7c1-d94049d7b5ef","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.4432158} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b06018f279105250802b9fbce344ee4b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b06018f279105250802b9fbce344ee4b"} gateway-1 | {"time_local":"28/Apr/2025:14:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b06018f279105250802b9fbce344ee4b"} device-1 | {"level":"info","message":"POST /devices? 201 67ms","method":"POST","requestID":"b06018f279105250802b9fbce344ee4b","responseTime":67,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNX0.3h7g77gTMK3sYMLQajcyWfvlc7rln4D8PJElcdN-1Fs","level":"info","message":"auth send jwt","requestID":"40de138837468788452b84b736a216ee"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"40de138837468788452b84b736a216ee","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"40de138837468788452b84b736a216ee"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.956621,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"40de138837468788452b84b736a216ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849815,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNX0.3h7g77gTMK3sYMLQajcyWfvlc7rln4D8PJElcdN-1Fs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"40de138837468788452b84b736a216ee","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7374dbb1-620e-4083-93b0-7b98f2662ce9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.489494} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"40de138837468788452b84b736a216ee","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65503361-ead9-4d90-8e38-228af9fdadbf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.4938364} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"40de138837468788452b84b736a216ee","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"7693c2f3-2eb8-4a5d-802c-c09d363454f6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.526915} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d283456b-37fa-421a-b76a-f1e1a873fc69","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.5270307} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"40de138837468788452b84b736a216ee","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.526888287Z"}]},"request_id":"18338e00-c59e-4dba-ada7-556b545b5c5d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849815.5310242} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"40de138837468788452b84b736a216ee","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"40de138837468788452b84b736a216ee"} gateway-1 | {"time_local":"28/Apr/2025:14:16:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40de138837468788452b84b736a216ee"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"40de138837468788452b84b736a216ee","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNn0.RR3QQ632dudBsT6iMhTcCA6Pox_SC-4vtatWinJ6x9I","level":"info","message":"auth send jwt","requestID":"37b4011a3b93ae2019c0af5f7be01a19"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37b4011a3b93ae2019c0af5f7be01a19","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"37b4011a3b93ae2019c0af5f7be01a19"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:56Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806682,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"37b4011a3b93ae2019c0af5f7be01a19","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849816,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNn0.RR3QQ632dudBsT6iMhTcCA6Pox_SC-4vtatWinJ6x9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"37b4011a3b93ae2019c0af5f7be01a19","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.437696397Z"}]},"request_id":"79e49446-f028-48af-a0cb-b130357e511e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849816.4364617} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"37b4011a3b93ae2019c0af5f7be01a19","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04bdc77b-94f0-46ef-ae47-446c2a9dd735","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849816.4413533} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"37b4011a3b93ae2019c0af5f7be01a19","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.437696397Z"}]},"request_id":"3ca78ac9-059a-4319-8627-5dd705d54fe1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849816.4581757} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"37b4011a3b93ae2019c0af5f7be01a19","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"37b4011a3b93ae2019c0af5f7be01a19"} gateway-1 | {"time_local":"28/Apr/2025:14:16:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a4487b97-ea63-4fef-8582-4a252972f16e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"37b4011a3b93ae2019c0af5f7be01a19"} device-1 | {"level":"info","message":"PATCH /devices/a4487b97-ea63-4fef-8582-4a252972f16e 200 57ms","method":"PATCH","requestID":"37b4011a3b93ae2019c0af5f7be01a19","responseTime":57,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNn0.RR3QQ632dudBsT6iMhTcCA6Pox_SC-4vtatWinJ6x9I","level":"info","message":"auth send jwt","requestID":"ae4259a7e39f5fe9bc5a86488276bb88"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae4259a7e39f5fe9bc5a86488276bb88","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ae4259a7e39f5fe9bc5a86488276bb88"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:56Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732357,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"ae4259a7e39f5fe9bc5a86488276bb88","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849816,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxNn0.RR3QQ632dudBsT6iMhTcCA6Pox_SC-4vtatWinJ6x9I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ae4259a7e39f5fe9bc5a86488276bb88","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ae4259a7e39f5fe9bc5a86488276bb88"} device-1 | {"level":"info","message":"POST /devices/a4487b97-ea63-4fef-8582-4a252972f16e/websocket 200 15ms","method":"POST","requestID":"ae4259a7e39f5fe9bc5a86488276bb88","responseTime":15,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:16:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a4487b97-ea63-4fef-8582-4a252972f16e/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.18","requestID":"ae4259a7e39f5fe9bc5a86488276bb88"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4d2cf3f21119e2e4d9b7d48469ab01b5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4d2cf3f21119e2e4d9b7d48469ab01b5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:16:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/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":"4d2cf3f21119e2e4d9b7d48469ab01b5"} device-1 | {"level":"info","message":"OPTIONS /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/websocket 200 1ms","method":"OPTIONS","requestID":"4d2cf3f21119e2e4d9b7d48469ab01b5","responseTime":1,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw","level":"info","message":"auth send jwt","requestID":"0b30d555c453683c9b0a56968a765cd8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b30d555c453683c9b0a56968a765cd8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0b30d555c453683c9b0a56968a765cd8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.182705,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0b30d555c453683c9b0a56968a765cd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849817,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0b30d555c453683c9b0a56968a765cd8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0b30d555c453683c9b0a56968a765cd8"} gateway-1 | {"time_local":"28/Apr/2025:14:16:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0b30d555c453683c9b0a56968a765cd8"} device-1 | {"level":"info","message":"POST /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/websocket 200 21ms","method":"POST","requestID":"0b30d555c453683c9b0a56968a765cd8","responseTime":21,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw","level":"info","message":"auth send jwt","requestID":"0268515f321690102ec805fa77a84d93"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0268515f321690102ec805fa77a84d93","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0268515f321690102ec805fa77a84d93"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657249,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0268515f321690102ec805fa77a84d93","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849817,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0268515f321690102ec805fa77a84d93","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.437696397Z"}]},"request_id":"c449f685-7acc-4fc0-b3aa-796f9f0bc833","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849817.886858} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0268515f321690102ec805fa77a84d93","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0268515f321690102ec805fa77a84d93"} device-1 | {"level":"info","message":"GET /devices/a4487b97-ea63-4fef-8582-4a252972f16e? 200 10ms","method":"GET","requestID":"0268515f321690102ec805fa77a84d93","responseTime":10,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a4487b97-ea63-4fef-8582-4a252972f16e? 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":"0268515f321690102ec805fa77a84d93"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw","level":"info","message":"auth send jwt","requestID":"e0062e86be8fb59585a9b5a8b2af0633"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e0062e86be8fb59585a9b5a8b2af0633","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0062e86be8fb59585a9b5a8b2af0633"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.5924,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e0062e86be8fb59585a9b5a8b2af0633","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849817,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e0062e86be8fb59585a9b5a8b2af0633","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.526888287Z"}]},"request_id":"95f49021-6b63-4eef-8d92-0c398f83244e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849817.9032612} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e0062e86be8fb59585a9b5a8b2af0633","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0062e86be8fb59585a9b5a8b2af0633"} device-1 | {"level":"info","message":"GET /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9? 200 9ms","method":"GET","requestID":"e0062e86be8fb59585a9b5a8b2af0633","responseTime":9,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9? 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":"e0062e86be8fb59585a9b5a8b2af0633"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw","level":"info","message":"auth send jwt","requestID":"62ec161dd7d66ee4089397d694206fc4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"62ec161dd7d66ee4089397d694206fc4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"62ec161dd7d66ee4089397d694206fc4"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.64101,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"62ec161dd7d66ee4089397d694206fc4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849817,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"62ec161dd7d66ee4089397d694206fc4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Attempting to run experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Attempting to book experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Successfully booked experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71cc2500-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71cc7320-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645486,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71cc2500-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849817,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"71cc2500-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7841,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71cc7320-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849817,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"71cc7320-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.437696397Z"}]},"request_id":"e581747d-a760-4f92-9d2a-c674cf094a0f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849817.944852} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"71cc2500-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.526888287Z"}]},"request_id":"4f929840-1958-46a2-812f-2ee787321494","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849817.9477694} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71cc2500-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"71cc7320-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/a4487b97-ea63-4fef-8582-4a252972f16e? 200 11ms","method":"GET","requestID":"71cc2500-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71cc7320-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9? 200 13ms","method":"GET","requestID":"71cc7320-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Setting up experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Successfully set up experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71d8a820-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71d8cf30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71d91d50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760702,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Successfully running experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71d8a820-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849817,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"71d8a820-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.061078,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71d8cf30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849817,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"71d8cf30-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.382928,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c5917f4-46f0-4604-add1-d5734ee99e60","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.026559} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71d91d50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","rebac_allow":false,"scope_allow":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":"71d91d50-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.526888287Z"}]},"request_id":"f1e64684-efb2-445e-b064-4802d04570cc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.0288155} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"71d8cf30-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.437696397Z"}]},"request_id":"aa7d8fb7-d5bf-49f0-84d9-c3c55b403946","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.0315707} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"71d8a820-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71d91d50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling 200 12ms","method":"POST","requestID":"71d91d50-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71d8cf30-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"b449ca97-4231-44f9-851e-35e9f8cf17f5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.0362139} device-1 | {"level":"info","message":"GET /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9? 200 17ms","method":"GET","requestID":"71d8cf30-243b-11f0-b067-2fe344ae06f8","responseTime":17,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71db8e50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd00a868-91e1-4a05-b7e1-eae39c12112f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.03661} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"62ec161dd7d66ee4089397d694206fc4","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71d8a820-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/a4487b97-ea63-4fef-8582-4a252972f16e? 200 21ms","method":"GET","requestID":"71d8a820-243b-11f0-b067-2fe344ae06f8","responseTime":21,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e?"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71e02230-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"036fee8a-e287-4a1b-a1c1-031ed6e1beb9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.0658336} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.567895,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71db8e50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","rebac_allow":false,"scope_allow":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":"71db8e50-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"62ec161dd7d66ee4089397d694206fc4"} gateway-1 | {"time_local":"28/Apr/2025:14:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62ec161dd7d66ee4089397d694206fc4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71db8e50-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 160ms","method":"POST","requestID":"62ec161dd7d66ee4089397d694206fc4","responseTime":160,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling 200 34ms","method":"POST","requestID":"71db8e50-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c4e78b0-0d56-4662-a169-8fe3e0e0187c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.0713127} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.857055,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71e02230-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","rebac_allow":false,"scope_allow":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":"71e02230-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxOH0.NOy8-w8NN_Hh9f0foC5Z0RKajqER3-klqKAIxoKp9Gc","level":"info","message":"auth send jwt","requestID":"c3d8a4372d0fe611691973e173077bcb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c3d8a4372d0fe611691973e173077bcb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71e02230-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling 200 9ms","method":"POST","requestID":"71e02230-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3d8a4372d0fe611691973e173077bcb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71e1a8d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693856,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c3d8a4372d0fe611691973e173077bcb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849818,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxOH0.NOy8-w8NN_Hh9f0foC5Z0RKajqER3-klqKAIxoKp9Gc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c3d8a4372d0fe611691973e173077bcb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56016309-b8b7-46b5-9251-366791433381","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.0811586} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.384431,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71e1a8d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","rebac_allow":false,"scope_allow":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":"71e1a8d0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.437696397Z"}]},"request_id":"7b81a69c-ede8-4e78-a0a3-41aa6e2034a9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.0836356} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c3d8a4372d0fe611691973e173077bcb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71e1a8d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling 200 10ms","method":"POST","requestID":"71e1a8d0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3d8a4372d0fe611691973e173077bcb"} device-1 | {"level":"info","message":"GET /devices/a4487b97-ea63-4fef-8582-4a252972f16e? 200 12ms","method":"GET","requestID":"c3d8a4372d0fe611691973e173077bcb","responseTime":12,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a4487b97-ea63-4fef-8582-4a252972f16e? 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":"c3d8a4372d0fe611691973e173077bcb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Building connection plan","requestID":"62ec161dd7d66ee4089397d694206fc4"} 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":"46bc5ff8-c4e5-4c02-a24e-5494ad8a03bd"},{"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":"de07ea1c-4564-4c08-8252-bfc0b32e18b2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7162beb5-32fe-4908-b15f-5075a2d8b824"}]},"level":"info","message":"Built pairwise service configurations","requestID":"62ec161dd7d66ee4089397d694206fc4"} 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/10f9e980-20a0-4707-a069-9cc72b1a16a9"},{"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/a4487b97-ea63-4fef-8582-4a252972f16e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"62ec161dd7d66ee4089397d694206fc4"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"71e74e20-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxOH0.NOy8-w8NN_Hh9f0foC5Z0RKajqER3-klqKAIxoKp9Gc","level":"info","message":"auth send jwt","requestID":"b54f7fda735fd8576a652e89f62f84a7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b54f7fda735fd8576a652e89f62f84a7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b54f7fda735fd8576a652e89f62f84a7"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"client_addr":"127.0.0.1:45124","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.841498,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71e74e20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849817,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxN30.8z9YMAbdT7i5mdCG1CzBI7MVVnFQl53CS23bIDrk8Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"71e74e20-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.560262,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b54f7fda735fd8576a652e89f62f84a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849818,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgxOH0.NOy8-w8NN_Hh9f0foC5Z0RKajqER3-klqKAIxoKp9Gc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b54f7fda735fd8576a652e89f62f84a7","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:16:55.526888287Z"}]},"request_id":"acb1bb14-93aa-4c02-9274-fa621af35000","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.1232765} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b54f7fda735fd8576a652e89f62f84a7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b54f7fda735fd8576a652e89f62f84a7"} device-1 | {"level":"info","message":"GET /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9? 200 10ms","method":"GET","requestID":"b54f7fda735fd8576a652e89f62f84a7","responseTime":10,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9?"} gateway-1 | {"time_local":"28/Apr/2025:14:16:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9? 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":"b54f7fda735fd8576a652e89f62f84a7"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"fa12e6bd-94a9-42a2-8cc2-d65a79441f77","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.1269095} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9705f929-bb84-4958-a5f4-6ab21bcc96ab","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.12717} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"71e74e20-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"71e74e20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"71e74e20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6'","requestID":"71e74e20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6'","requestID":"71e74e20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"71e74e20-243b-11f0-b067-2fe344ae06f8"} 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":"71e74e20-243b-11f0-b067-2fe344ae06f8","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":"71e74e20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6","device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","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/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"62ec161dd7d66ee4089397d694206fc4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71f6b770-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4607b2a9-66e2-4bdd-87ab-6835cbc506c0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.2198577} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.794788,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71f6b770-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","rebac_allow":false,"scope_allow":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":"71f6b770-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71f6b770-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling 200 12ms","method":"POST","requestID":"71f6b770-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71f8da50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"787d45c7-6e2a-42bd-8780-f81f1d2ea775","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849818.2326195} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.254373,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:16:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"71f8da50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","rebac_allow":false,"scope_allow":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":"71f8da50-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71f8da50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling 200 31ms","method":"POST","requestID":"71f8da50-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling"} device-1 | {"device":"a4487b97-ea63-4fef-8582-4a252972f16e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"64a94b3f-f335-449b-bb90-aa31927288b6","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4627272486418843638 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:OWLh\r\na=ice-pwd:5d1XNN/JFGV9eULhw57RQt4V\r\na=ice-options:trickle\r\na=fingerprint:sha-256 77:2A:FA:7F:92:F6:96:EE:56:37:6B:39:48:C6:2A:5D:B6:64:38:B4:75:A7:03:A7:48:DD:ED:CF:44:B5:06:CB\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1171521263 1 udp 2113937151 fb9d6b3c-ea13-46e3-829f-67a2b561927a.local 60234 typ host generation 0 ufrag OWLh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","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/64a94b3f-f335-449b-bb90-aa31927288b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"64a94b3f-f335-449b-bb90-aa31927288b6","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a4487b97-ea63-4fef-8582-4a252972f16e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4487b97-ea63-4fef-8582-4a252972f16e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4487b97-ea63-4fef-8582-4a252972f16e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f4924be680f6569f83f430e01caae3ed","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"f4924be680f6569f83f430e01caae3ed","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":"connecting","url":"http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9"},{"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/a4487b97-ea63-4fef-8582-4a252972f16e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6"}}},"level":"info","message":"received a callback","requestID":"f4924be680f6569f83f430e01caae3ed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"f4924be680f6569f83f430e01caae3ed","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4924be680f6569f83f430e01caae3ed"} device-1 | {"data":{"peerconnection":"64a94b3f-f335-449b-bb90-aa31927288b6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a4487b97-ea63-4fef-8582-4a252972f16e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a4487b97-ea63-4fef-8582-4a252972f16e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"64a94b3f-f335-449b-bb90-aa31927288b6","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","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/64a94b3f-f335-449b-bb90-aa31927288b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"64a94b3f-f335-449b-bb90-aa31927288b6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9032b5d3c559fc35271bbfd2f7d01d53","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"9032b5d3c559fc35271bbfd2f7d01d53","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/10f9e980-20a0-4707-a069-9cc72b1a16a9"},{"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/a4487b97-ea63-4fef-8582-4a252972f16e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6"}}},"level":"info","message":"received a callback","requestID":"9032b5d3c559fc35271bbfd2f7d01d53"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"732faca0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F64a94b3f-f335-449b-bb90-aa31927288b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d42fe1c7-b3af-403f-8c91-47099cc2d8e8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.2708018} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.111336,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"732faca0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6","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":"732faca0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"732faca0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6 200 8ms","method":"GET","requestID":"732faca0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"9032b5d3c559fc35271bbfd2f7d01d53","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"9032b5d3c559fc35271bbfd2f7d01d53"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7332e0f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e5d454c-0628-4245-a91b-9467e0e40d0b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.2913694} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.322364,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7332e0f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","rebac_allow":false,"scope_allow":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":"7332e0f0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7332e0f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling 200 8ms","method":"POST","requestID":"7332e0f0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"73381110-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7e1b5d3-63f4-4607-90dd-9de8a0e05093","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.3253107} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.217704,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"73381110-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","rebac_allow":false,"scope_allow":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":"73381110-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"73381110-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling 200 8ms","method":"POST","requestID":"73381110-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMH0.WePzzd1ZQLjSpU6Rvh_lSJ1IrQcze6nzP4SBGoZazqs","level":"info","message":"auth send jwt","requestID":"2267536540197c1f01af79d75b00301a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2267536540197c1f01af79d75b00301a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","requestID":"2267536540197c1f01af79d75b00301a"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.842633,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2267536540197c1f01af79d75b00301a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849820,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMH0.WePzzd1ZQLjSpU6Rvh_lSJ1IrQcze6nzP4SBGoZazqs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2267536540197c1f01af79d75b00301a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","requestID":"2267536540197c1f01af79d75b00301a"} gateway-1 | {"time_local":"28/Apr/2025:14:17:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd 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":"2267536540197c1f01af79d75b00301a"} experiment-1 | {"level":"info","message":"GET /experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd 200 9ms","method":"GET","requestID":"2267536540197c1f01af79d75b00301a","responseTime":9,"status":200,"url":"/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMH0.WePzzd1ZQLjSpU6Rvh_lSJ1IrQcze6nzP4SBGoZazqs","level":"info","message":"auth send jwt","requestID":"cb48b9582fe83cb473d35606916334e2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cb48b9582fe83cb473d35606916334e2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","requestID":"cb48b9582fe83cb473d35606916334e2"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.830812,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"cb48b9582fe83cb473d35606916334e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849820,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMH0.WePzzd1ZQLjSpU6Rvh_lSJ1IrQcze6nzP4SBGoZazqs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cb48b9582fe83cb473d35606916334e2","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Attempting to finish experiment","requestID":"cb48b9582fe83cb473d35606916334e2"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"73470530-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.665511,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"73470530-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849820,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMH0.WePzzd1ZQLjSpU6Rvh_lSJ1IrQcze6nzP4SBGoZazqs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"73470530-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6","device":"10f9e980-20a0-4707-a069-9cc72b1a16a9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"a4487b97-ea63-4fef-8582-4a252972f16e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4487b97-ea63-4fef-8582-4a252972f16e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a4487b97-ea63-4fef-8582-4a252972f16e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/64a94b3f-f335-449b-bb90-aa31927288b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"64a94b3f-f335-449b-bb90-aa31927288b6","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F64a94b3f-f335-449b-bb90-aa31927288b6': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F64a94b3f-f335-449b-bb90-aa31927288b6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"9c617628-1045-46d6-9d93-4f87f97b31c0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.433749} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8914f15b-beb7-43b3-923a-d19a8df57135","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.4344985} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"48d46429ea8192e76f96e9c81ce6a220","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"48d46429ea8192e76f96e9c81ce6a220","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"458eb5342ec37cda6c432daf62cc4a62","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/10f9e980-20a0-4707-a069-9cc72b1a16a9"},{"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/a4487b97-ea63-4fef-8582-4a252972f16e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6"}}},"level":"info","message":"received a callback","requestID":"48d46429ea8192e76f96e9c81ce6a220"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"458eb5342ec37cda6c432daf62cc4a62","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/10f9e980-20a0-4707-a069-9cc72b1a16a9"},{"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/a4487b97-ea63-4fef-8582-4a252972f16e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6"}}},"level":"info","message":"received a callback","requestID":"458eb5342ec37cda6c432daf62cc4a62"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"73470530-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"64a94b3f-f335-449b-bb90-aa31927288b6","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"73470530-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6 204 56ms","method":"DELETE","requestID":"73470530-243b-11f0-b067-2fe344ae06f8","responseTime":56,"status":204,"url":"/peerconnections/64a94b3f-f335-449b-bb90-aa31927288b6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"},"level":"info","message":"Successfully finished experiment","requestID":"cb48b9582fe83cb473d35606916334e2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"73518c80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10f9e980-20a0-4707-a069-9cc72b1a16a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21d57126-06d7-4236-add4-458a4501a61e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.5164213} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.196684,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"73518c80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9","object_type":"device","rebac_allow":false,"scope_allow":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":"73518c80-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"73518c80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling 200 32ms","method":"POST","requestID":"73518c80-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7356bca0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4487b97-ea63-4fef-8582-4a252972f16e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8c4d1db-dff3-4409-814d-ec2cf5a48e5b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.5256932} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"dea0ab5d-63a9-44ee-832e-46a92a19c3ff","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.5257463} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7481755-fad9-42b9-badc-a838feebdacc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.5260649} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.413596,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7356bca0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e","object_type":"device","rebac_allow":false,"scope_allow":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":"7356bca0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"cb48b9582fe83cb473d35606916334e2","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7356bca0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling 200 8ms","method":"POST","requestID":"7356bca0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/a4487b97-ea63-4fef-8582-4a252972f16e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd","requestID":"cb48b9582fe83cb473d35606916334e2"} gateway-1 | {"time_local":"28/Apr/2025:14:17:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd 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":"cb48b9582fe83cb473d35606916334e2"} experiment-1 | {"level":"info","message":"DELETE /experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd 204 237ms","method":"DELETE","requestID":"cb48b9582fe83cb473d35606916334e2","responseTime":237,"status":204,"url":"/experiments/c0eeab0b-072d-40dd-bdd2-2d8c9c3e8bbd"} gateway-1 | {"time_local":"28/Apr/2025:14:17:00 +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.120","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"4f76d48e0c7101d14bbd0c3170cd7b6e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"48d46429ea8192e76f96e9c81ce6a220","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"48d46429ea8192e76f96e9c81ce6a220"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"458eb5342ec37cda6c432daf62cc4a62","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"458eb5342ec37cda6c432daf62cc4a62"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMH0.WePzzd1ZQLjSpU6Rvh_lSJ1IrQcze6nzP4SBGoZazqs","level":"info","message":"auth send jwt","requestID":"bfcbc17fe0626ac334be0de743b0b226"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bfcbc17fe0626ac334be0de743b0b226","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bfcbc17fe0626ac334be0de743b0b226"} gateway-1 | {"time_local":"28/Apr/2025:14:17:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.769","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":"e1e95c4d85013a37e885b3b349b6e364"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.002418,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bfcbc17fe0626ac334be0de743b0b226","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849820,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMH0.WePzzd1ZQLjSpU6Rvh_lSJ1IrQcze6nzP4SBGoZazqs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"bfcbc17fe0626ac334be0de743b0b226","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a4487b97-ea63-4fef-8582-4a252972f16e' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"92ca8e37-d7c3-410f-ad62-1f4012bddf00","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.705304} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"bfcbc17fe0626ac334be0de743b0b226","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/10f9e980-20a0-4707-a069-9cc72b1a16a9' 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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a23a731-a49f-4887-b337-2540d472b85e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.7099915} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bfcbc17fe0626ac334be0de743b0b226","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"cc30fe43-fc40-447e-b0a0-4dce4b3b298d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.7220433} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e7055e7-c47e-43dd-8b44-ae080be0c48b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.7221413} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"bfcbc17fe0626ac334be0de743b0b226","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.722021071Z"}]},"request_id":"79e45dc3-1d5c-4f67-a534-cb4e58195c07","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.726812} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bfcbc17fe0626ac334be0de743b0b226","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bfcbc17fe0626ac334be0de743b0b226"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bfcbc17fe0626ac334be0de743b0b226"} device-1 | {"level":"info","message":"POST /devices? 201 123ms","method":"POST","requestID":"bfcbc17fe0626ac334be0de743b0b226","responseTime":123,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMH0.WePzzd1ZQLjSpU6Rvh_lSJ1IrQcze6nzP4SBGoZazqs","level":"info","message":"auth send jwt","requestID":"7ddc05f299e0ad71c0121a1fdb810332"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ddc05f299e0ad71c0121a1fdb810332","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7ddc05f299e0ad71c0121a1fdb810332"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.700009,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ddc05f299e0ad71c0121a1fdb810332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849820,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMH0.WePzzd1ZQLjSpU6Rvh_lSJ1IrQcze6nzP4SBGoZazqs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7ddc05f299e0ad71c0121a1fdb810332","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0db3d89a-f27d-4bd8-a87f-66f4839cc97b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.7714372} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ddc05f299e0ad71c0121a1fdb810332","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b87e2e24-7709-4e25-b3da-4339c70962a4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.7759416} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"7ddc05f299e0ad71c0121a1fdb810332","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"f8127cbe-11ea-4170-b6a2-f5e928f23905","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.8067129} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46d38d6b-1028-4c29-8aa5-c966580df15a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.80678} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"7ddc05f299e0ad71c0121a1fdb810332","responseTime":33,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.806685407Z"}]},"request_id":"21e25208-da0b-4e65-ac5a-8ad993c2a3c7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849820.81046} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7ddc05f299e0ad71c0121a1fdb810332","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7ddc05f299e0ad71c0121a1fdb810332"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ddc05f299e0ad71c0121a1fdb810332"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"7ddc05f299e0ad71c0121a1fdb810332","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMX0.eprRomcxNwnPOtH3MkxrvambpB8QI0FhXXgeh9H0QxI","level":"info","message":"auth send jwt","requestID":"8f0365bd779d54ca3b64c73780ef1f8c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8f0365bd779d54ca3b64c73780ef1f8c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8f0365bd779d54ca3b64c73780ef1f8c"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731736,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8f0365bd779d54ca3b64c73780ef1f8c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849821,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMX0.eprRomcxNwnPOtH3MkxrvambpB8QI0FhXXgeh9H0QxI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8f0365bd779d54ca3b64c73780ef1f8c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.722021071Z"}]},"request_id":"39165821-a47e-461f-b669-9a3cc1c64dde","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849821.6830819} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8f0365bd779d54ca3b64c73780ef1f8c","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4224a994-0908-40f7-855f-c2cd3a8f3afb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849821.6877875} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"8f0365bd779d54ca3b64c73780ef1f8c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.722021071Z"}]},"request_id":"3dda3e2e-b867-4577-a182-609fdfc13d84","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849821.7203677} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8f0365bd779d54ca3b64c73780ef1f8c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8f0365bd779d54ca3b64c73780ef1f8c"} gateway-1 | {"time_local":"28/Apr/2025:14:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/76144413-f776-43be-a93c-d6b02f3b637b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8f0365bd779d54ca3b64c73780ef1f8c"} device-1 | {"level":"info","message":"PATCH /devices/76144413-f776-43be-a93c-d6b02f3b637b 200 50ms","method":"PATCH","requestID":"8f0365bd779d54ca3b64c73780ef1f8c","responseTime":50,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMX0.eprRomcxNwnPOtH3MkxrvambpB8QI0FhXXgeh9H0QxI","level":"info","message":"auth send jwt","requestID":"f56457680d4b12b45d1d7019b3ab5c24"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f56457680d4b12b45d1d7019b3ab5c24","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f56457680d4b12b45d1d7019b3ab5c24"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.848968,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f56457680d4b12b45d1d7019b3ab5c24","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849821,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyMX0.eprRomcxNwnPOtH3MkxrvambpB8QI0FhXXgeh9H0QxI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f56457680d4b12b45d1d7019b3ab5c24","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f56457680d4b12b45d1d7019b3ab5c24"} gateway-1 | {"time_local":"28/Apr/2025:14:17:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/76144413-f776-43be-a93c-d6b02f3b637b/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.18","requestID":"f56457680d4b12b45d1d7019b3ab5c24"} device-1 | {"level":"info","message":"POST /devices/76144413-f776-43be-a93c-d6b02f3b637b/websocket 200 40ms","method":"POST","requestID":"f56457680d4b12b45d1d7019b3ab5c24","responseTime":40,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7766f448595521e6c83c08ca36804f79","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"7766f448595521e6c83c08ca36804f79","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b88605e6-3e56-4a0f-9479-57daa925afad/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":"7766f448595521e6c83c08ca36804f79"} device-1 | {"level":"info","message":"OPTIONS /devices/b88605e6-3e56-4a0f-9479-57daa925afad/websocket 200 1ms","method":"OPTIONS","requestID":"7766f448595521e6c83c08ca36804f79","responseTime":1,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY","level":"info","message":"auth send jwt","requestID":"f16b2152424d7b721047a41ef7fe3121"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f16b2152424d7b721047a41ef7fe3121","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f16b2152424d7b721047a41ef7fe3121"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240511,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f16b2152424d7b721047a41ef7fe3121","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f16b2152424d7b721047a41ef7fe3121","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f16b2152424d7b721047a41ef7fe3121"} device-1 | {"level":"info","message":"POST /devices/b88605e6-3e56-4a0f-9479-57daa925afad/websocket 200 20ms","method":"POST","requestID":"f16b2152424d7b721047a41ef7fe3121","responseTime":20,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b88605e6-3e56-4a0f-9479-57daa925afad/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":"f16b2152424d7b721047a41ef7fe3121"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY","level":"info","message":"auth send jwt","requestID":"47a1d01c7a67999b663277fc990534fb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"47a1d01c7a67999b663277fc990534fb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"47a1d01c7a67999b663277fc990534fb"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64177,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"47a1d01c7a67999b663277fc990534fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"47a1d01c7a67999b663277fc990534fb","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.722021071Z"}]},"request_id":"02f6fb8f-e571-47e6-af08-8e6e3f10cd8a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.1635451} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"47a1d01c7a67999b663277fc990534fb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"47a1d01c7a67999b663277fc990534fb"} gateway-1 | {"time_local":"28/Apr/2025:14:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/76144413-f776-43be-a93c-d6b02f3b637b? 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":"47a1d01c7a67999b663277fc990534fb"} device-1 | {"level":"info","message":"GET /devices/76144413-f776-43be-a93c-d6b02f3b637b? 200 14ms","method":"GET","requestID":"47a1d01c7a67999b663277fc990534fb","responseTime":14,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY","level":"info","message":"auth send jwt","requestID":"de0fc644cfb83d830a60ce21ee4ac719"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"de0fc644cfb83d830a60ce21ee4ac719","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de0fc644cfb83d830a60ce21ee4ac719"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932519,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"de0fc644cfb83d830a60ce21ee4ac719","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"de0fc644cfb83d830a60ce21ee4ac719","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.806685407Z"}]},"request_id":"cd625c90-806c-440c-adb4-ec11d2156a2f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.1839366} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"de0fc644cfb83d830a60ce21ee4ac719","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de0fc644cfb83d830a60ce21ee4ac719"} device-1 | {"level":"info","message":"GET /devices/b88605e6-3e56-4a0f-9479-57daa925afad? 200 14ms","method":"GET","requestID":"de0fc644cfb83d830a60ce21ee4ac719","responseTime":14,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b88605e6-3e56-4a0f-9479-57daa925afad? 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":"de0fc644cfb83d830a60ce21ee4ac719"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY","level":"info","message":"auth send jwt","requestID":"e4f68040029b31ac386d8f0c5d961612"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e4f68040029b31ac386d8f0c5d961612","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e4f68040029b31ac386d8f0c5d961612"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.555068,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e4f68040029b31ac386d8f0c5d961612","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4f68040029b31ac386d8f0c5d961612","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Attempting to run experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Attempting to book experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Successfully booked experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"74f81090-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"74f85eb0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672767,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"74f81090-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"74f81090-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908814,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"74f85eb0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"74f85eb0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.722021071Z"}]},"request_id":"24017d3d-e916-4c57-8343-84390d55bc5a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.2653074} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"74f81090-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.806685407Z"}]},"request_id":"dfcf85d9-5e01-4436-8434-fbefc0de0452","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.2683747} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"74f81090-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"74f85eb0-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/76144413-f776-43be-a93c-d6b02f3b637b? 200 12ms","method":"GET","requestID":"74f81090-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"74f85eb0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/b88605e6-3e56-4a0f-9479-57daa925afad? 200 38ms","method":"GET","requestID":"74f85eb0-243b-11f0-b067-2fe344ae06f8","responseTime":38,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Setting up experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Successfully set up experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"75072bc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"750779e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7507a0f0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Successfully running experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715835,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"75072bc0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"75072bc0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663972,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"750779e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"750779e0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.782943,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb3dd653-bf4c-4829-a915-6c224df6ca47","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.364472} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7507a0f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","rebac_allow":false,"scope_allow":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":"7507a0f0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.806685407Z"}]},"request_id":"0ff3de40-991c-4267-9969-55d4d9eafb88","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.3661227} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"750779e0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.722021071Z"}]},"request_id":"4909b2fd-6f26-4186-b26c-946e05e449d7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.3683934} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"75072bc0-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7507a0f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling 200 11ms","method":"POST","requestID":"7507a0f0-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"750779e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/b88605e6-3e56-4a0f-9479-57daa925afad? 200 14ms","method":"GET","requestID":"750779e0-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"75099cc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"75072bc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/76144413-f776-43be-a93c-d6b02f3b637b? 200 41ms","method":"GET","requestID":"75072bc0-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b?"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"750de280-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d208d353-35c9-44ba-96fc-9cc81d85ea25","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.4008598} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.578366,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"75099cc0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","object_type":"device","rebac_allow":false,"scope_allow":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":"75099cc0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F350ef109-a701-4109-b6e4-1f0b947fb77b#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F350ef109-a701-4109-b6e4-1f0b947fb77b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"34cd9da6-296b-40a6-b4e6-069e06fc453f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.4028006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c43541de-ee24-4f1a-a0ec-19b536b6ecab","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.4031374} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"e4f68040029b31ac386d8f0c5d961612","responseTime":43,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"75099cc0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d262f09c-9e41-4edd-b8f2-8ab34b026fcf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.4057255} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.473127,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} device-1 | {"level":"info","message":"POST /devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling 200 11ms","method":"POST","requestID":"75099cc0-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"750de280-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","rebac_allow":false,"scope_allow":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":"750de280-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"750de280-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling 200 10ms","method":"POST","requestID":"750de280-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e4f68040029b31ac386d8f0c5d961612"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"750fde50-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 220ms","method":"POST","requestID":"e4f68040029b31ac386d8f0c5d961612","responseTime":220,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.226","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4f68040029b31ac386d8f0c5d961612"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a54b8ffd-05cd-4925-9d61-e34c28d28ba0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.4171033} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":25.898708,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY","level":"info","message":"auth send jwt","requestID":"54400aadfd644b45372dac0a1ea13a19"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"750fde50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","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 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"54400aadfd644b45372dac0a1ea13a19","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"750fde50-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"54400aadfd644b45372dac0a1ea13a19"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"750fde50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling 200 32ms","method":"POST","requestID":"750fde50-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751671,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Building connection plan","requestID":"e4f68040029b31ac386d8f0c5d961612"} 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":"d3daad87-8475-41c4-8286-ba847c44a620"},{"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":"6a105736-bf9f-4f5e-82fe-deec44ac77cd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2a4a23e8-df20-4cb9-a53c-1920a8f9b65f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e4f68040029b31ac386d8f0c5d961612"} 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/76144413-f776-43be-a93c-d6b02f3b637b"},{"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/b88605e6-3e56-4a0f-9479-57daa925afad"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e4f68040029b31ac386d8f0c5d961612"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"54400aadfd644b45372dac0a1ea13a19","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"54400aadfd644b45372dac0a1ea13a19","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"75153580-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.722021071Z"}]},"request_id":"4220f88b-dba0-4c9c-91b3-2d3d4c8f8a5d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.4499865} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"54400aadfd644b45372dac0a1ea13a19","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.889995,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"75153580-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"75153580-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"54400aadfd644b45372dac0a1ea13a19"} gateway-1 | {"time_local":"28/Apr/2025:14:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/76144413-f776-43be-a93c-d6b02f3b637b? 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":"54400aadfd644b45372dac0a1ea13a19"} device-1 | {"level":"info","message":"GET /devices/76144413-f776-43be-a93c-d6b02f3b637b? 200 11ms","method":"GET","requestID":"54400aadfd644b45372dac0a1ea13a19","responseTime":11,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY","level":"info","message":"auth send jwt","requestID":"d2656f28a91e2bd62b54862364fba416"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d2656f28a91e2bd62b54862364fba416","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2656f28a91e2bd62b54862364fba416"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"1458a757-a96e-4149-aeb4-2815649cc133","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.459415} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffa523d2-3109-4070-a78c-b853cad62106","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.4596064} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"75153580-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956227,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"d2656f28a91e2bd62b54862364fba416","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849823,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyM30.Kk7oIHwsMmtBvfJRXxP6qlqaBse2cMmx2dXGWvPQXIY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2656f28a91e2bd62b54862364fba416","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:00.806685407Z"}]},"request_id":"9714f63c-998a-4d1b-a686-92540f81016a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.4940405} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"d2656f28a91e2bd62b54862364fba416","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"75153580-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"75153580-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee'","requestID":"75153580-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee'","requestID":"75153580-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"75153580-243b-11f0-b067-2fe344ae06f8"} 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":"75153580-243b-11f0-b067-2fe344ae06f8","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":"getDevicesByDeviceId succeeded","requestID":"d2656f28a91e2bd62b54862364fba416"} gateway-1 | {"time_local":"28/Apr/2025:14:17:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b88605e6-3e56-4a0f-9479-57daa925afad? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2656f28a91e2bd62b54862364fba416"} device-1 | {"level":"info","message":"GET /devices/b88605e6-3e56-4a0f-9479-57daa925afad? 200 43ms","method":"GET","requestID":"d2656f28a91e2bd62b54862364fba416","responseTime":43,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"75153580-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee","device":"b88605e6-3e56-4a0f-9479-57daa925afad","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/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e4f68040029b31ac386d8f0c5d961612"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"75249ed0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"device":"b88605e6-3e56-4a0f-9479-57daa925afad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b88605e6-3e56-4a0f-9479-57daa925afad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03b2055c-e86c-4161-b1e0-6f681566ee05","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.5544612} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.054589,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"75249ed0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","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 | {"content":{"sdp":"v=0\r\no=- 3548114424165202857 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:G+xr\r\na=ice-pwd:ntQDgKafsCxFSTo+HBc5dF1v\r\na=ice-options:trickle\r\na=fingerprint:sha-256 65:73:C1:B9:45:E0:32:05:B3:53:C4:69:80:09:07:D8:9E:46:AD:AC:65:F5:86:E3:7F:1F:19:E8:1C:8E:BF:F4\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b88605e6-3e56-4a0f-9479-57daa925afad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"75249ed0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"75249ed0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling 200 10ms","method":"POST","requestID":"75249ed0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"752a1d10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60ba4dcc-1af9-4558-8ab1-0eeded0db750","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849823.5892422} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.267392,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"752a1d10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","object_type":"device","rebac_allow":false,"scope_allow":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":"752a1d10-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"752a1d10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling 200 7ms","method":"POST","requestID":"752a1d10-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling"} device-1 | {"device":"b88605e6-3e56-4a0f-9479-57daa925afad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"3f35dacf-83df-4b91-9c64-d4d0c4250eee","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/3f35dacf-83df-4b91-9c64-d4d0c4250eee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f35dacf-83df-4b91-9c64-d4d0c4250eee","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4c9124e0e28a5e66733f36d50c116baa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4c9124e0e28a5e66733f36d50c116baa","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/76144413-f776-43be-a93c-d6b02f3b637b"},{"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/b88605e6-3e56-4a0f-9479-57daa925afad"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee"}}},"level":"info","message":"received a callback","requestID":"4c9124e0e28a5e66733f36d50c116baa"} device-1 | {"content":{"candidate":"candidate:1341309478 1 udp 2113937151 6086ce17-86b0-4e32-9b68-32cf60484f35.local 56160 typ host generation 0 ufrag G+xr network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b88605e6-3e56-4a0f-9479-57daa925afad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"4c9124e0e28a5e66733f36d50c116baa","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c9124e0e28a5e66733f36d50c116baa"} device-1 | {"device":"b88605e6-3e56-4a0f-9479-57daa925afad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"3f35dacf-83df-4b91-9c64-d4d0c4250eee","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b88605e6-3e56-4a0f-9479-57daa925afad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"3f35dacf-83df-4b91-9c64-d4d0c4250eee","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/3f35dacf-83df-4b91-9c64-d4d0c4250eee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f35dacf-83df-4b91-9c64-d4d0c4250eee","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f52d988ef2ea8e8044bd93fdb3f11c96","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"f52d988ef2ea8e8044bd93fdb3f11c96","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/76144413-f776-43be-a93c-d6b02f3b637b"},{"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/b88605e6-3e56-4a0f-9479-57daa925afad"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee"}}},"level":"info","message":"received a callback","requestID":"f52d988ef2ea8e8044bd93fdb3f11c96"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"76594e40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f35dacf-83df-4b91-9c64-d4d0c4250eee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d207346-0234-4c19-91e8-0211964507e2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.577188} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.518597,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"76594e40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee","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":"76594e40-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"76594e40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee 200 8ms","method":"GET","requestID":"76594e40-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"f52d988ef2ea8e8044bd93fdb3f11c96","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"f52d988ef2ea8e8044bd93fdb3f11c96"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"765d1ed0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23612586-50e9-4f2d-8855-e438a3905270","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.601328} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.325836,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"765d1ed0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","rebac_allow":false,"scope_allow":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":"765d1ed0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"765d1ed0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling 200 8ms","method":"POST","requestID":"765d1ed0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"765ea570-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67cb2fd5-ce6e-4b28-909a-a00ecb93b422","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.6118317} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.41152,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"765ea570-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","object_type":"device","rebac_allow":false,"scope_allow":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":"765ea570-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"765ea570-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling 200 8ms","method":"POST","requestID":"765ea570-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNX0.CQhj3WdAe-R6vFF0-sXHCDzzP-wUPvdBKQpjcA2aygU","level":"info","message":"auth send jwt","requestID":"faa81dae47213acd4fe994c38c80152b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"faa81dae47213acd4fe994c38c80152b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/350ef109-a701-4109-b6e4-1f0b947fb77b","requestID":"faa81dae47213acd4fe994c38c80152b"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.944927,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"faa81dae47213acd4fe994c38c80152b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849825,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNX0.CQhj3WdAe-R6vFF0-sXHCDzzP-wUPvdBKQpjcA2aygU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"faa81dae47213acd4fe994c38c80152b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/350ef109-a701-4109-b6e4-1f0b947fb77b","requestID":"faa81dae47213acd4fe994c38c80152b"} experiment-1 | {"level":"info","message":"GET /experiments/350ef109-a701-4109-b6e4-1f0b947fb77b 200 36ms","method":"GET","requestID":"faa81dae47213acd4fe994c38c80152b","responseTime":36,"status":200,"url":"/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"} gateway-1 | {"time_local":"28/Apr/2025:14:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/350ef109-a701-4109-b6e4-1f0b947fb77b HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"faa81dae47213acd4fe994c38c80152b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNX0.CQhj3WdAe-R6vFF0-sXHCDzzP-wUPvdBKQpjcA2aygU","level":"info","message":"auth send jwt","requestID":"6a9e080bd5b2df639d5ebeb702f441dc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6a9e080bd5b2df639d5ebeb702f441dc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/350ef109-a701-4109-b6e4-1f0b947fb77b","requestID":"6a9e080bd5b2df639d5ebeb702f441dc"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.73152,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6a9e080bd5b2df639d5ebeb702f441dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849825,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNX0.CQhj3WdAe-R6vFF0-sXHCDzzP-wUPvdBKQpjcA2aygU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6a9e080bd5b2df639d5ebeb702f441dc","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Attempting to finish experiment","requestID":"6a9e080bd5b2df639d5ebeb702f441dc"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"766f4740-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.100126,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"108cee304b66c285c200076e35a2884d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"766f4740-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849825,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNX0.CQhj3WdAe-R6vFF0-sXHCDzzP-wUPvdBKQpjcA2aygU"} 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/76144413-f776-43be-a93c-d6b02f3b637b"},{"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/b88605e6-3e56-4a0f-9479-57daa925afad"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee"}}},"level":"info","message":"received a callback","requestID":"108cee304b66c285c200076e35a2884d"} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"76144413-f776-43be-a93c-d6b02f3b637b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-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/76144413-f776-43be-a93c-d6b02f3b637b"},{"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/b88605e6-3e56-4a0f-9479-57daa925afad"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee"}}},"level":"info","message":"received a callback","requestID":"abe9a5c9fca849c30d4e9ca113279586"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"108cee304b66c285c200076e35a2884d","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"766f4740-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee' to 'http://localhost/callbacks/experiment'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"abe9a5c9fca849c30d4e9ca113279586","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"abe9a5c9fca849c30d4e9ca113279586","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3f35dacf-83df-4b91-9c64-d4d0c4250eee","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee","device":"b88605e6-3e56-4a0f-9479-57daa925afad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f35dacf-83df-4b91-9c64-d4d0c4250eee': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3f35dacf-83df-4b91-9c64-d4d0c4250eee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"0311513a-b43e-4b56-a73f-484b83e4587c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.7483547} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cacbca10-7921-4d39-b724-a4c1fc123f96","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.748539} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"766f4740-243b-11f0-b067-2fe344ae06f8","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"3f35dacf-83df-4b91-9c64-d4d0c4250eee","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"766f4740-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee 204 42ms","method":"DELETE","requestID":"766f4740-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":204,"url":"/peerconnections/3f35dacf-83df-4b91-9c64-d4d0c4250eee"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"},"level":"info","message":"Successfully finished experiment","requestID":"6a9e080bd5b2df639d5ebeb702f441dc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7677d2c0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F76144413-f776-43be-a93c-d6b02f3b637b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"add096ea-0e59-4e8e-a138-98d92b8977d3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.775784} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.362203,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7677d2c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b","object_type":"device","rebac_allow":false,"scope_allow":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":"7677d2c0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7677d2c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling 200 7ms","method":"POST","requestID":"7677d2c0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/76144413-f776-43be-a93c-d6b02f3b637b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76793250-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F350ef109-a701-4109-b6e4-1f0b947fb77b': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F350ef109-a701-4109-b6e4-1f0b947fb77b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"3028a178-0319-44ab-927d-6d00c12d05b4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.7835703} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68a4e6e5-744a-4ec1-8317-f008d8c0da5d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.7837253} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"6a9e080bd5b2df639d5ebeb702f441dc","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb88605e6-3e56-4a0f-9479-57daa925afad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"512d84a5-a824-439b-b390-68583ba0f27b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.785892} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.428745,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"76793250-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b88605e6-3e56-4a0f-9479-57daa925afad","object_type":"device","rebac_allow":false,"scope_allow":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":"76793250-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76793250-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling 200 9ms","method":"POST","requestID":"76793250-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/b88605e6-3e56-4a0f-9479-57daa925afad/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/350ef109-a701-4109-b6e4-1f0b947fb77b","requestID":"6a9e080bd5b2df639d5ebeb702f441dc"} gateway-1 | {"time_local":"28/Apr/2025:14:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/350ef109-a701-4109-b6e4-1f0b947fb77b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a9e080bd5b2df639d5ebeb702f441dc"} experiment-1 | {"level":"info","message":"DELETE /experiments/350ef109-a701-4109-b6e4-1f0b947fb77b 204 155ms","method":"DELETE","requestID":"6a9e080bd5b2df639d5ebeb702f441dc","responseTime":155,"status":204,"url":"/experiments/350ef109-a701-4109-b6e4-1f0b947fb77b"} gateway-1 | {"time_local":"28/Apr/2025:14:17:05 +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.092","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"21a719a8eb18a0067594bb603ff3ee13"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"108cee304b66c285c200076e35a2884d","responseTime":130,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"abe9a5c9fca849c30d4e9ca113279586","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"108cee304b66c285c200076e35a2884d"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"abe9a5c9fca849c30d4e9ca113279586"} device-1 | {"level":"info","message":"postDevices called","requestID":"c9308e0827ac5def165c5a0967074932"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNX0.CQhj3WdAe-R6vFF0-sXHCDzzP-wUPvdBKQpjcA2aygU","level":"info","message":"auth send jwt","requestID":"c9308e0827ac5def165c5a0967074932"} gateway-1 | {"time_local":"28/Apr/2025:14:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2782","request_time":"2.758","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":"41cd48b6d6ad1e2a5bae8bf8c045d17b"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"c9308e0827ac5def165c5a0967074932","responseTime":34,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/76144413-f776-43be-a93c-d6b02f3b637b' closed"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.031793,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c9308e0827ac5def165c5a0967074932","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849825,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNX0.CQhj3WdAe-R6vFF0-sXHCDzzP-wUPvdBKQpjcA2aygU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c9308e0827ac5def165c5a0967074932","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/b88605e6-3e56-4a0f-9479-57daa925afad' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4e9b390e-45ad-45b4-9f10-54b7cb47928c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.9441996} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c9308e0827ac5def165c5a0967074932","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa67b276-fbed-4df8-a08b-77286be27163","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.9484646} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c9308e0827ac5def165c5a0967074932","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"e081757c-f8b6-4fcd-a0e3-1a1fefe88b1b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.9597726} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4120c94-8893-4b7f-87b3-338b239f956c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.959941} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"c9308e0827ac5def165c5a0967074932","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:05.959743486Z"}]},"request_id":"fbdb1ccf-bb8b-4e2b-bcf7-44e64bfa5b4b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849825.988263} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c9308e0827ac5def165c5a0967074932","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c9308e0827ac5def165c5a0967074932"} gateway-1 | {"time_local":"28/Apr/2025:14:17:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9308e0827ac5def165c5a0967074932"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"c9308e0827ac5def165c5a0967074932","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNX0.CQhj3WdAe-R6vFF0-sXHCDzzP-wUPvdBKQpjcA2aygU","level":"info","message":"auth send jwt","requestID":"afdce30d4dba73dcf139d3873985e95e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"afdce30d4dba73dcf139d3873985e95e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"afdce30d4dba73dcf139d3873985e95e"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.695799,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"afdce30d4dba73dcf139d3873985e95e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849825,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNX0.CQhj3WdAe-R6vFF0-sXHCDzzP-wUPvdBKQpjcA2aygU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"afdce30d4dba73dcf139d3873985e95e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fd44c0d7-762c-4c4e-8b6d-c553df469cf5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849826.0360491} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"afdce30d4dba73dcf139d3873985e95e","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"272b6523-7435-4385-8abe-18d0f055b091","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849826.040438} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"afdce30d4dba73dcf139d3873985e95e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"1553d7b6-6057-4cc2-b535-55039f08b076","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849826.0504603} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27f16511-94bd-41f6-bf9f-c8a3f6d66e65","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849826.050587} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"afdce30d4dba73dcf139d3873985e95e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:06.050439688Z"}]},"request_id":"0d7e30bf-6ae1-4947-be7f-4f8bb73c662f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849826.0543232} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"afdce30d4dba73dcf139d3873985e95e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"afdce30d4dba73dcf139d3873985e95e"} gateway-1 | {"time_local":"28/Apr/2025:14:17:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"afdce30d4dba73dcf139d3873985e95e"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"afdce30d4dba73dcf139d3873985e95e","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNn0.I3rxifrbDJX7iu-ECWBU3volDM080QueGIFkmld9va8","level":"info","message":"auth send jwt","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717177,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:06Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNn0.I3rxifrbDJX7iu-ECWBU3volDM080QueGIFkmld9va8","level":"info","message":"auth send jwt","requestID":"b61d9d35cfbb1c1d4a752980056a1db0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b61d9d35cfbb1c1d4a752980056a1db0","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849826,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNn0.I3rxifrbDJX7iu-ECWBU3volDM080QueGIFkmld9va8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b61d9d35cfbb1c1d4a752980056a1db0"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:06Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936623,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b61d9d35cfbb1c1d4a752980056a1db0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849826,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyNn0.I3rxifrbDJX7iu-ECWBU3volDM080QueGIFkmld9va8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b61d9d35cfbb1c1d4a752980056a1db0","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:06.050439688Z"}]},"request_id":"dbc2efcd-00fd-479a-9715-ce2f1fdb412e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849826.9682014} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee2b1077-5b4f-4a86-b436-2b34b498add9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.0002244} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:05.959743486Z"}]},"request_id":"e8da9e02-c8d2-4d57-80ae-85ca62580497","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.0033195} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b61d9d35cfbb1c1d4a752980056a1db0","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0040acf1-a652-42f6-b8cc-bbde0cad303c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.0109766} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b61d9d35cfbb1c1d4a752980056a1db0","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:06.050439688Z"}]},"request_id":"66ecf59b-b289-43fe-8662-9980d041c03f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.0128858} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60"} gateway-1 | {"time_local":"28/Apr/2025:14:17:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.093","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60"} device-1 | {"level":"info","message":"PATCH /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc 200 89ms","method":"PATCH","requestID":"e9b0cc575290ced7d1e9c06e1d3dcc60","responseTime":89,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ","level":"info","message":"auth send jwt","requestID":"9568f75384c2dc227edd709e7fc558fd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9568f75384c2dc227edd709e7fc558fd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9568f75384c2dc227edd709e7fc558fd"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898478,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9568f75384c2dc227edd709e7fc558fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9568f75384c2dc227edd709e7fc558fd","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:05.959743486Z"}]},"request_id":"a55bb38a-f781-4d1b-b41c-82b996c1e232","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.055269} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b61d9d35cfbb1c1d4a752980056a1db0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b61d9d35cfbb1c1d4a752980056a1db0"} gateway-1 | {"time_local":"28/Apr/2025:14:17:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.101","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b61d9d35cfbb1c1d4a752980056a1db0"} device-1 | {"level":"info","message":"PATCH /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273 200 96ms","method":"PATCH","requestID":"b61d9d35cfbb1c1d4a752980056a1db0","responseTime":96,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ","level":"info","message":"auth send jwt","requestID":"f277c4217d09e7dddbda771586e386d6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f277c4217d09e7dddbda771586e386d6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f277c4217d09e7dddbda771586e386d6"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665335,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f277c4217d09e7dddbda771586e386d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f277c4217d09e7dddbda771586e386d6","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9568f75384c2dc227edd709e7fc558fd"} gateway-1 | {"time_local":"28/Apr/2025:14:17:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/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.18","requestID":"9568f75384c2dc227edd709e7fc558fd"} device-1 | {"level":"info","message":"POST /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/websocket 200 45ms","method":"POST","requestID":"9568f75384c2dc227edd709e7fc558fd","responseTime":45,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f277c4217d09e7dddbda771586e386d6"} gateway-1 | {"time_local":"28/Apr/2025:14:17:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/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.18","requestID":"f277c4217d09e7dddbda771586e386d6"} device-1 | {"level":"info","message":"POST /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/websocket 200 42ms","method":"POST","requestID":"f277c4217d09e7dddbda771586e386d6","responseTime":42,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ","level":"info","message":"auth send jwt","requestID":"e2feef14e5363dfd8731d1db2e887259"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e2feef14e5363dfd8731d1db2e887259","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e2feef14e5363dfd8731d1db2e887259"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705402,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e2feef14e5363dfd8731d1db2e887259","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e2feef14e5363dfd8731d1db2e887259","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:05.959743486Z"}]},"request_id":"94fc5721-f914-4583-b714-a922f17d5636","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.1547055} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e2feef14e5363dfd8731d1db2e887259","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e2feef14e5363dfd8731d1db2e887259"} gateway-1 | {"time_local":"28/Apr/2025:14:17:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273? 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":"e2feef14e5363dfd8731d1db2e887259"} device-1 | {"level":"info","message":"GET /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273? 200 10ms","method":"GET","requestID":"e2feef14e5363dfd8731d1db2e887259","responseTime":10,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ","level":"info","message":"auth send jwt","requestID":"deea428abc37b093b646fa0738a94fbe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"deea428abc37b093b646fa0738a94fbe","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"deea428abc37b093b646fa0738a94fbe"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":20.845653,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"deea428abc37b093b646fa0738a94fbe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"deea428abc37b093b646fa0738a94fbe","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:06.050439688Z"}]},"request_id":"b7787561-3ad1-4bdf-8b65-2cc51b3d09da","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.1888466} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"deea428abc37b093b646fa0738a94fbe","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"deea428abc37b093b646fa0738a94fbe"} gateway-1 | {"time_local":"28/Apr/2025:14:17:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"deea428abc37b093b646fa0738a94fbe"} device-1 | {"level":"info","message":"GET /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc? 200 30ms","method":"GET","requestID":"deea428abc37b093b646fa0738a94fbe","responseTime":30,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ","level":"info","message":"auth send jwt","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9210d42ad9759caf4d73e1685c1ea3f2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.609034,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9210d42ad9759caf4d73e1685c1ea3f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9210d42ad9759caf4d73e1685c1ea3f2","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Attempting to run experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Attempting to book experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Successfully booked experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"77593210-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"77595920-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910051,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"77593210-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"77593210-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623682,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"77595920-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"77595920-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:05.959743486Z"}]},"request_id":"a1405f9e-9731-463d-8627-db8677f500fc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.2558072} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"77593210-243b-11f0-b067-2fe344ae06f8","responseTime":26,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:06.050439688Z"}]},"request_id":"1faf0ba7-c7ee-4dab-a5e1-fa9a01e09101","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.2564037} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"77595920-243b-11f0-b067-2fe344ae06f8","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"77593210-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273? 200 35ms","method":"GET","requestID":"77593210-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"77595920-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc? 200 35ms","method":"GET","requestID":"77595920-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Setting up experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Successfully set up experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"776762e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"776789f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Successfully running experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722317,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7767d810-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"776762e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"776762e0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641564,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"776789f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"776789f0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:06.050439688Z"}]},"request_id":"4bed2faa-c09f-4d55-99a9-41eb3e48dc20","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.3515024} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"574abf24-471d-477d-8d7f-2dc6e4045022","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.3516862} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"776789f0-243b-11f0-b067-2fe344ae06f8","responseTime":27,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:05.959743486Z"}]},"request_id":"92c3c7cb-afba-4dbf-9d8a-7bfdeeefa066","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.3524885} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.775915,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"776762e0-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7767d810-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","rebac_allow":false,"scope_allow":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":"7767d810-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f69de58-e4c0-4951-b58c-c00d0822c4df#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f69de58-e4c0-4951-b58c-c00d0822c4df","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"e8801766-82ae-4299-aba8-839702e1b21c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.3819897} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1790489-e467-442a-bd54-869adfd99f2d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.3821304} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"776789f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"9210d42ad9759caf4d73e1685c1ea3f2","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc? 200 40ms","method":"GET","requestID":"776789f0-243b-11f0-b067-2fe344ae06f8","responseTime":40,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"776762e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273? 200 42ms","method":"GET","requestID":"776762e0-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7767d810-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling 200 41ms","method":"POST","requestID":"7767d810-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"776e8ed0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"776eb5e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} gateway-1 | {"time_local":"28/Apr/2025:14:17:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 196ms","method":"POST","requestID":"9210d42ad9759caf4d73e1685c1ea3f2","responseTime":196,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12efd331-6cea-4ec7-997b-895d178b0fa0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.3935225} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.560987,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"776e8ed0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","rebac_allow":false,"scope_allow":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":"776e8ed0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"091f95aa-4b54-43ca-82ab-4b9733b86146","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.394409} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.555458,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"776eb5e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","rebac_allow":false,"scope_allow":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":"776eb5e0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ","level":"info","message":"auth send jwt","requestID":"be1eacc3f277dea4f12a03ccb7ad5d5d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be1eacc3f277dea4f12a03ccb7ad5d5d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be1eacc3f277dea4f12a03ccb7ad5d5d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"776e8ed0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling 200 11ms","method":"POST","requestID":"776e8ed0-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"776eb5e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779756,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} device-1 | {"level":"info","message":"POST /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling 200 36ms","method":"POST","requestID":"776eb5e0-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"be1eacc3f277dea4f12a03ccb7ad5d5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"be1eacc3f277dea4f12a03ccb7ad5d5d","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"77745b30-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:05.959743486Z"}]},"request_id":"cdd61be3-6130-46df-91e9-c739a2d434b3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.4308336} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"102cf641-1f93-4568-90e6-8476b3e3b2b8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.4310107} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"be1eacc3f277dea4f12a03ccb7ad5d5d","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.522322,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"77745b30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","rebac_allow":false,"scope_allow":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":"77745b30-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be1eacc3f277dea4f12a03ccb7ad5d5d"} gateway-1 | {"time_local":"28/Apr/2025:14:17:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273? 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":"be1eacc3f277dea4f12a03ccb7ad5d5d"} device-1 | {"level":"info","message":"GET /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273? 200 37ms","method":"GET","requestID":"be1eacc3f277dea4f12a03ccb7ad5d5d","responseTime":37,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"77745b30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling 200 10ms","method":"POST","requestID":"77745b30-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Building connection plan","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} 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":"677bb064-66fd-4ba6-9efc-8744c5e7f17d"},{"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":"8d20ae8f-7de3-4a85-8ab2-87fc7fea8d8b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b8823e83-5347-495e-abaa-5af36f682565"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} 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/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc"},{"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/0bdc27d2-4aea-43e3-93e7-64205e0f9273"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ","level":"info","message":"auth send jwt","requestID":"3f9a73d13c539896f607329e6505866b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3f9a73d13c539896f607329e6505866b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3f9a73d13c539896f607329e6505866b"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.616066,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.5463,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"3f9a73d13c539896f607329e6505866b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849827,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyN30.cZLJybN0BNC6Boa79YOjEdQHwf_Th9V9p8vKCvskZFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3f9a73d13c539896f607329e6505866b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:06.050439688Z"}]},"request_id":"69fdcf8c-6a4d-4a3c-b935-1b1caf8f6ee3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.447662} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"3f9a73d13c539896f607329e6505866b","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3f9a73d13c539896f607329e6505866b"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"134f3d2d-ff95-484a-9930-517151a9c032","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.4762619} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b6413b1-fc54-498a-8823-bba6c4ad753a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.476506} gateway-1 | {"time_local":"28/Apr/2025:14:17:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc? 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":"3f9a73d13c539896f607329e6505866b"} device-1 | {"level":"info","message":"GET /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc? 200 35ms","method":"GET","requestID":"3f9a73d13c539896f607329e6505866b","responseTime":35,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c'","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c'","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"77762ff0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9210d42ad9759caf4d73e1685c1ea3f2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7785e760-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b1391ea-352e-476d-a038-e524aa787e8e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.5706222} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.213889,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7785e760-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","rebac_allow":false,"scope_allow":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":"7785e760-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7785e760-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling 200 33ms","method":"POST","requestID":"7785e760-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"778b1780-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cf26087-0e14-44b0-ac31-c940935db143","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849827.5804753} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.218823,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"778b1780-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","rebac_allow":false,"scope_allow":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":"778b1780-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"778b1780-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling 200 8ms","method":"POST","requestID":"778b1780-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling"} device-1 | {"device":"0bdc27d2-4aea-43e3-93e7-64205e0f9273","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"96d86095c2b2f6e9203871a2dc91a115","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"96d86095c2b2f6e9203871a2dc91a115","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc"},{"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/0bdc27d2-4aea-43e3-93e7-64205e0f9273"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c"}}},"level":"info","message":"received a callback","requestID":"96d86095c2b2f6e9203871a2dc91a115"} device-1 | {"device":"0bdc27d2-4aea-43e3-93e7-64205e0f9273","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bdc27d2-4aea-43e3-93e7-64205e0f9273","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bdc27d2-4aea-43e3-93e7-64205e0f9273","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"96d86095c2b2f6e9203871a2dc91a115","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"96d86095c2b2f6e9203871a2dc91a115"} device-1 | {"data":{"peerconnection":"d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bdc27d2-4aea-43e3-93e7-64205e0f9273","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bdc27d2-4aea-43e3-93e7-64205e0f9273","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","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/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"af222a7efc621d884d9e8b0f85598d74","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"af222a7efc621d884d9e8b0f85598d74","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/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc"},{"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/0bdc27d2-4aea-43e3-93e7-64205e0f9273"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c"}}},"level":"info","message":"received a callback","requestID":"af222a7efc621d884d9e8b0f85598d74"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"78c25f00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd3034bc0-9eb3-4990-90ba-dbd7e567bd8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6175fa19-6637-4ca1-80cf-fc9ed3201910","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.6198292} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.235873,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"78c25f00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","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":"78c25f00-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"78c25f00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c 200 7ms","method":"GET","requestID":"78c25f00-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"af222a7efc621d884d9e8b0f85598d74","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"af222a7efc621d884d9e8b0f85598d74"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78c54530-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3200983-88e5-4841-a905-f92f52d59cc0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.6406205} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.865079,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"78c54530-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","rebac_allow":false,"scope_allow":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":"78c54530-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78c54530-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling 200 9ms","method":"POST","requestID":"78c54530-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78c719f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3acc6d95-6125-4c8b-8294-28c3ead1de88","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.6515894} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.271875,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"78c719f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","rebac_allow":false,"scope_allow":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":"78c719f0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78c719f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling 200 9ms","method":"POST","requestID":"78c719f0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyOX0.Mu2qmWWru9cKXnIdwGkE6wT6Cit_4sGreoZY93bPiYE","level":"info","message":"auth send jwt","requestID":"bb892ebb15c37b37d83a1fcf1d3ca3d6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bb892ebb15c37b37d83a1fcf1d3ca3d6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df","requestID":"bb892ebb15c37b37d83a1fcf1d3ca3d6"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.050897,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bb892ebb15c37b37d83a1fcf1d3ca3d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849829,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyOX0.Mu2qmWWru9cKXnIdwGkE6wT6Cit_4sGreoZY93bPiYE"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"bb892ebb15c37b37d83a1fcf1d3ca3d6","responseTime":24,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df","requestID":"bb892ebb15c37b37d83a1fcf1d3ca3d6"} experiment-1 | {"level":"info","message":"GET /experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df 200 31ms","method":"GET","requestID":"bb892ebb15c37b37d83a1fcf1d3ca3d6","responseTime":31,"status":200,"url":"/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"} gateway-1 | {"time_local":"28/Apr/2025:14:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb892ebb15c37b37d83a1fcf1d3ca3d6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyOX0.Mu2qmWWru9cKXnIdwGkE6wT6Cit_4sGreoZY93bPiYE","level":"info","message":"auth send jwt","requestID":"8a7f1131adc3732646d41067d5d4ea93"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8a7f1131adc3732646d41067d5d4ea93","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df","requestID":"8a7f1131adc3732646d41067d5d4ea93"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.046033,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a7f1131adc3732646d41067d5d4ea93","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849829,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyOX0.Mu2qmWWru9cKXnIdwGkE6wT6Cit_4sGreoZY93bPiYE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8a7f1131adc3732646d41067d5d4ea93","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"78d9b790-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Attempting to finish experiment","requestID":"8a7f1131adc3732646d41067d5d4ea93"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.749987,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"78d9b790-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849829,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyOX0.Mu2qmWWru9cKXnIdwGkE6wT6Cit_4sGreoZY93bPiYE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"78d9b790-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"0bdc27d2-4aea-43e3-93e7-64205e0f9273","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bdc27d2-4aea-43e3-93e7-64205e0f9273","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0bdc27d2-4aea-43e3-93e7-64205e0f9273","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d3034bc0-9eb3-4990-90ba-dbd7e567bd8c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd3034bc0-9eb3-4990-90ba-dbd7e567bd8c': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd3034bc0-9eb3-4990-90ba-dbd7e567bd8c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"cb538a2c-6426-4c5b-a4f0-4ff11f18e9bc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.7900128} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d72ee96d-83b0-4747-885a-72baff4e0bca","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.7902086} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"13562b6398f7a1da4fd6415f0afe03c1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"13562b6398f7a1da4fd6415f0afe03c1","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"78d9b790-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a13ce011ead8dd8059d658152d710f4b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc"},{"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/0bdc27d2-4aea-43e3-93e7-64205e0f9273"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c"}}},"level":"info","message":"received a callback","requestID":"13562b6398f7a1da4fd6415f0afe03c1"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a13ce011ead8dd8059d658152d710f4b","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/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc"},{"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/0bdc27d2-4aea-43e3-93e7-64205e0f9273"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c"}}},"level":"info","message":"received a callback","requestID":"a13ce011ead8dd8059d658152d710f4b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"78d9b790-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c 204 38ms","method":"DELETE","requestID":"78d9b790-243b-11f0-b067-2fe344ae06f8","responseTime":38,"status":204,"url":"/peerconnections/d3034bc0-9eb3-4990-90ba-dbd7e567bd8c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"},"level":"info","message":"Successfully finished experiment","requestID":"8a7f1131adc3732646d41067d5d4ea93"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78e21c00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ea674d9-5dc8-4a89-9d1d-6c980015f75b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.829449} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.241364,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"78e21c00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc","object_type":"device","rebac_allow":false,"scope_allow":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":"78e21c00-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78e21c00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling 200 9ms","method":"POST","requestID":"78e21c00-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78e3f0c0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f69de58-e4c0-4951-b58c-c00d0822c4df': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4f69de58-e4c0-4951-b58c-c00d0822c4df","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"622f0cb4-0853-4ff4-b257-d9a2f6dafc46","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.8368974} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa2b652c-8d3c-42e0-9bb0-2092e4a99a6f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.8371544} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"8a7f1131adc3732646d41067d5d4ea93","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0bdc27d2-4aea-43e3-93e7-64205e0f9273","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"571c8388-e294-4c97-8a9c-383285c19ddd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.8404455} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.134916,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"78e3f0c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273","object_type":"device","rebac_allow":false,"scope_allow":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":"78e3f0c0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78e3f0c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling 200 8ms","method":"POST","requestID":"78e3f0c0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df","requestID":"8a7f1131adc3732646d41067d5d4ea93"} gateway-1 | {"time_local":"28/Apr/2025:14:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a7f1131adc3732646d41067d5d4ea93"} experiment-1 | {"level":"info","message":"DELETE /experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df 204 192ms","method":"DELETE","requestID":"8a7f1131adc3732646d41067d5d4ea93","responseTime":192,"status":204,"url":"/experiments/4f69de58-e4c0-4951-b58c-c00d0822c4df"} gateway-1 | {"time_local":"28/Apr/2025:14:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.837","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a6cca31e47a6153ddcf45395c6d9e23e"} gateway-1 | {"time_local":"28/Apr/2025:14:17:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.828","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"295c9551af7d607e8b3bd98a22b7f910"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"13562b6398f7a1da4fd6415f0afe03c1","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"13562b6398f7a1da4fd6415f0afe03c1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"a13ce011ead8dd8059d658152d710f4b","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"a13ce011ead8dd8059d658152d710f4b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyOX0.Mu2qmWWru9cKXnIdwGkE6wT6Cit_4sGreoZY93bPiYE","level":"info","message":"auth send jwt","requestID":"12be8cd37ea6fcbda70576f33a0eb12b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"12be8cd37ea6fcbda70576f33a0eb12b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"12be8cd37ea6fcbda70576f33a0eb12b"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0bdc27d2-4aea-43e3-93e7-64205e0f9273' closed"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.893743,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"12be8cd37ea6fcbda70576f33a0eb12b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849829,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgyOX0.Mu2qmWWru9cKXnIdwGkE6wT6Cit_4sGreoZY93bPiYE"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"12be8cd37ea6fcbda70576f33a0eb12b","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4f4c45fe-11d1-43c8-862e-0ec42cc7a1bc' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f2139e6a-6c9b-4df1-b228-d0edc2321867","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.9861982} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"12be8cd37ea6fcbda70576f33a0eb12b","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3238f6b-3875-41c3-9098-ee895a882a37","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849829.9918134} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"12be8cd37ea6fcbda70576f33a0eb12b","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"6c92243c-3c7c-4ebc-ac15-fdeed87af377","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.0275223} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"275b105d-a3f3-4185-b118-5bf7556d67a6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.0275896} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"12be8cd37ea6fcbda70576f33a0eb12b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.027494357Z"}]},"request_id":"716a8651-0440-48bf-83ef-09c67a69cef5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.032113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"12be8cd37ea6fcbda70576f33a0eb12b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"12be8cd37ea6fcbda70576f33a0eb12b"} gateway-1 | {"time_local":"28/Apr/2025:14:17:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12be8cd37ea6fcbda70576f33a0eb12b"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"12be8cd37ea6fcbda70576f33a0eb12b","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMH0.oEe-Tt-NMXl53EtPmhKALoUsKEFIkdDWF9Z4JbRbVlQ","level":"info","message":"auth send jwt","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.805445,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"98ca3d3b0a3e2599eedff7d09e7a7131","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849830,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMH0.oEe-Tt-NMXl53EtPmhKALoUsKEFIkdDWF9Z4JbRbVlQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2677fb20-46ef-4287-90d0-9f5e31f091e5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.0798295} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1542238-cc2c-414f-8579-1ca23d98e3d5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.084709} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"914b10e0-1fbd-45aa-9f3b-35da37635b09","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.1181831} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbf24707-e1a5-424d-8725-bfb5be29ee39","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.1184702} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.118156879Z"}]},"request_id":"59a8c9f4-c620-4e54-8668-fc89b6805705","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.1230426} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131"} gateway-1 | {"time_local":"28/Apr/2025:14:17:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"98ca3d3b0a3e2599eedff7d09e7a7131","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMH0.oEe-Tt-NMXl53EtPmhKALoUsKEFIkdDWF9Z4JbRbVlQ","level":"info","message":"auth send jwt","requestID":"540f79692e82c9f441ccec32b2326ea5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"540f79692e82c9f441ccec32b2326ea5","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMH0.oEe-Tt-NMXl53EtPmhKALoUsKEFIkdDWF9Z4JbRbVlQ","level":"info","message":"auth send jwt","requestID":"45ba675a944e7046775b6f15c3f3fa05"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45ba675a944e7046775b6f15c3f3fa05","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"540f79692e82c9f441ccec32b2326ea5"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"45ba675a944e7046775b6f15c3f3fa05"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592877,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:10Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"540f79692e82c9f441ccec32b2326ea5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849830,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMH0.oEe-Tt-NMXl53EtPmhKALoUsKEFIkdDWF9Z4JbRbVlQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"540f79692e82c9f441ccec32b2326ea5","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.463256,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"45ba675a944e7046775b6f15c3f3fa05","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849830,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMH0.oEe-Tt-NMXl53EtPmhKALoUsKEFIkdDWF9Z4JbRbVlQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"45ba675a944e7046775b6f15c3f3fa05","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.027494357Z"}]},"request_id":"f43368ee-f293-436b-be22-ef63e4de00a6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.9944267} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"540f79692e82c9f441ccec32b2326ea5","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.118156879Z"}]},"request_id":"8d00ebbd-9c68-44e8-b646-e89e8d0a5010","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.9951882} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"45ba675a944e7046775b6f15c3f3fa05","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd04e7e8-ff64-4e8b-ba02-3717bf05bf1a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849830.9991663} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"540f79692e82c9f441ccec32b2326ea5","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0e21c27-7644-4473-88c9-e3076af32556","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.0002532} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"45ba675a944e7046775b6f15c3f3fa05","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.118156879Z"}]},"request_id":"bb50ad77-f2c5-4c2d-96b8-d991c1f8a867","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.0270662} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"45ba675a944e7046775b6f15c3f3fa05","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"45ba675a944e7046775b6f15c3f3fa05"} gateway-1 | {"time_local":"28/Apr/2025:14:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a42b09af-c215-4162-9eb2-7e5877c49298 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"45ba675a944e7046775b6f15c3f3fa05"} device-1 | {"level":"info","message":"PATCH /devices/a42b09af-c215-4162-9eb2-7e5877c49298 200 43ms","method":"PATCH","requestID":"45ba675a944e7046775b6f15c3f3fa05","responseTime":43,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4","level":"info","message":"auth send jwt","requestID":"e1c27af826e51179e24e39dd3147bbcf"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e1c27af826e51179e24e39dd3147bbcf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e1c27af826e51179e24e39dd3147bbcf"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.267334,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e1c27af826e51179e24e39dd3147bbcf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e1c27af826e51179e24e39dd3147bbcf","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.027494357Z"}]},"request_id":"9d094817-1f71-4e37-b5e0-c6725ad4c708","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.037198} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"540f79692e82c9f441ccec32b2326ea5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"540f79692e82c9f441ccec32b2326ea5"} gateway-1 | {"time_local":"28/Apr/2025:14:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"540f79692e82c9f441ccec32b2326ea5"} device-1 | {"level":"info","message":"PATCH /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6 200 56ms","method":"PATCH","requestID":"540f79692e82c9f441ccec32b2326ea5","responseTime":56,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4","level":"info","message":"auth send jwt","requestID":"f45f2d7c272da61d2ecc26a19c59c727"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f45f2d7c272da61d2ecc26a19c59c727","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f45f2d7c272da61d2ecc26a19c59c727"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778291,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f45f2d7c272da61d2ecc26a19c59c727","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f45f2d7c272da61d2ecc26a19c59c727","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e1c27af826e51179e24e39dd3147bbcf"} gateway-1 | {"time_local":"28/Apr/2025:14:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a42b09af-c215-4162-9eb2-7e5877c49298/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e1c27af826e51179e24e39dd3147bbcf"} device-1 | {"level":"info","message":"POST /devices/a42b09af-c215-4162-9eb2-7e5877c49298/websocket 200 17ms","method":"POST","requestID":"e1c27af826e51179e24e39dd3147bbcf","responseTime":17,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f45f2d7c272da61d2ecc26a19c59c727"} device-1 | {"level":"info","message":"POST /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/websocket 200 37ms","method":"POST","requestID":"f45f2d7c272da61d2ecc26a19c59c727","responseTime":37,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/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.18","requestID":"f45f2d7c272da61d2ecc26a19c59c727"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4","level":"info","message":"auth send jwt","requestID":"4cd448e6d2334f96554913ffbe28da9b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4cd448e6d2334f96554913ffbe28da9b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4cd448e6d2334f96554913ffbe28da9b"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695957,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4cd448e6d2334f96554913ffbe28da9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4cd448e6d2334f96554913ffbe28da9b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.027494357Z"}]},"request_id":"02cd9d98-43f9-4f24-b272-6fcf2126ddfb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.1295857} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4cd448e6d2334f96554913ffbe28da9b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4cd448e6d2334f96554913ffbe28da9b"} gateway-1 | {"time_local":"28/Apr/2025:14:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6? 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":"4cd448e6d2334f96554913ffbe28da9b"} device-1 | {"level":"info","message":"GET /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6? 200 9ms","method":"GET","requestID":"4cd448e6d2334f96554913ffbe28da9b","responseTime":9,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4","level":"info","message":"auth send jwt","requestID":"c5fce89713e1a4478a06f15b8aa7dd81"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c5fce89713e1a4478a06f15b8aa7dd81","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5fce89713e1a4478a06f15b8aa7dd81"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690397,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c5fce89713e1a4478a06f15b8aa7dd81","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c5fce89713e1a4478a06f15b8aa7dd81","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.118156879Z"}]},"request_id":"6f3fb640-b928-4d63-9055-a2c88b0d96c4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.143591} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c5fce89713e1a4478a06f15b8aa7dd81","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5fce89713e1a4478a06f15b8aa7dd81"} device-1 | {"level":"info","message":"GET /devices/a42b09af-c215-4162-9eb2-7e5877c49298? 200 33ms","method":"GET","requestID":"c5fce89713e1a4478a06f15b8aa7dd81","responseTime":33,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a42b09af-c215-4162-9eb2-7e5877c49298? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5fce89713e1a4478a06f15b8aa7dd81"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4","level":"info","message":"auth send jwt","requestID":"c92507126cf7b26a8e405003cfb2728b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c92507126cf7b26a8e405003cfb2728b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c92507126cf7b26a8e405003cfb2728b"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.658613,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c92507126cf7b26a8e405003cfb2728b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c92507126cf7b26a8e405003cfb2728b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Attempting to run experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Attempting to book experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Successfully booked experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"79b96930-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"79b99040-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651481,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79b96930-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"79b96930-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776038,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79b99040-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"79b99040-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.027494357Z"}]},"request_id":"5e109b75-e28a-4174-9dbe-a1296096ab2d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.2662814} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"79b96930-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.118156879Z"}]},"request_id":"8e915c15-3666-4e89-9cce-244174d37158","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.267083} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"79b99040-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"79b96930-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6? 200 35ms","method":"GET","requestID":"79b96930-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"79b99040-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/a42b09af-c215-4162-9eb2-7e5877c49298? 200 35ms","method":"GET","requestID":"79b99040-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Setting up experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Successfully set up experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"79c6fdc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"79c724d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"79c772f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Successfully running experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.986549,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79c6fdc0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"79c6fdc0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799035,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79c724d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"79c724d0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7277918d-0d31-4396-83e6-9a7a90989713","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.3324409} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.643062,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79c772f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","rebac_allow":false,"scope_allow":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":"79c772f0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.118156879Z"}]},"request_id":"d7a62749-180f-4b7b-93aa-9cde582d90f5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.3343947} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"79c724d0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.027494357Z"}]},"request_id":"96deafc6-4435-4218-b3c6-c13caea15ba8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.3365643} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"79c6fdc0-243b-11f0-b067-2fe344ae06f8","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"79c772f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling 200 36ms","method":"POST","requestID":"79c772f0-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"79c724d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/a42b09af-c215-4162-9eb2-7e5877c49298? 200 39ms","method":"GET","requestID":"79c724d0-243b-11f0-b067-2fe344ae06f8","responseTime":39,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"79c6fdc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6? 200 41ms","method":"GET","requestID":"79c6fdc0-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"79cd6660-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"79cd8d70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"8a2569fc-4ccc-4ea0-8e5d-e99fcd0c5f68","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.3682857} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2c6b539-17e1-4b2f-90ee-ca1e2ac41af7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.3684697} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"c92507126cf7b26a8e405003cfb2728b","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.254573,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9171be0b-dcee-4abb-89d0-a36d836bbdf8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.370741} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79cd6660-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","rebac_allow":false,"scope_allow":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":"79cd6660-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4b0dcf4-1085-4b40-b5dc-b6f96635298d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.371885} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.31782,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79cd8d70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","rebac_allow":false,"scope_allow":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":"79cd8d70-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"79cd6660-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c92507126cf7b26a8e405003cfb2728b"} device-1 | {"level":"info","message":"POST /devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling 200 10ms","method":"POST","requestID":"79cd6660-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"79cd8d70-243b-11f0-b067-2fe344ae06f8"} gateway-1 | {"time_local":"28/Apr/2025:14:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c92507126cf7b26a8e405003cfb2728b"} device-1 | {"level":"info","message":"POST /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling 200 10ms","method":"POST","requestID":"79cd8d70-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 202ms","method":"POST","requestID":"c92507126cf7b26a8e405003cfb2728b","responseTime":202,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"79cf6230-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4","level":"info","message":"auth send jwt","requestID":"9a601d5c7ad7e9e69feb3592f0903671"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9a601d5c7ad7e9e69feb3592f0903671","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9a601d5c7ad7e9e69feb3592f0903671"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50180","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771556,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9a601d5c7ad7e9e69feb3592f0903671","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"9a601d5c7ad7e9e69feb3592f0903671","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"368e69b2-9bee-46b4-99ad-ab531028069e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.3847327} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.38307,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79cf6230-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","rebac_allow":false,"scope_allow":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":"79cf6230-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.027494357Z"}]},"request_id":"a3005347-5fba-4e48-8b8c-34ff4723c296","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.411936} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9a601d5c7ad7e9e69feb3592f0903671","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"79cf6230-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling 200 35ms","method":"POST","requestID":"79cf6230-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9a601d5c7ad7e9e69feb3592f0903671"} gateway-1 | {"time_local":"28/Apr/2025:14:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a601d5c7ad7e9e69feb3592f0903671"} device-1 | {"level":"info","message":"GET /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6? 200 34ms","method":"GET","requestID":"9a601d5c7ad7e9e69feb3592f0903671","responseTime":34,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Building connection plan","requestID":"c92507126cf7b26a8e405003cfb2728b"} 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":"20925680-9611-43df-a35e-a63c1d1af259"},{"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":"13c99dae-9af7-4632-8547-e7d1e629000c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"11ffb457-8dd8-43fb-98cc-0e5f0b109803"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c92507126cf7b26a8e405003cfb2728b"} 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/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6"},{"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/a42b09af-c215-4162-9eb2-7e5877c49298"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c92507126cf7b26a8e405003cfb2728b"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4","level":"info","message":"auth send jwt","requestID":"9b89523322841c6de806a756a2bc04a8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9b89523322841c6de806a756a2bc04a8","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9b89523322841c6de806a756a2bc04a8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.889319,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652579,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9b89523322841c6de806a756a2bc04a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849831,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzMX0.-FXVASX2PD9GGi_RqkUZP6tSnyRlvmm7s_EPiSOVnv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9b89523322841c6de806a756a2bc04a8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:10.118156879Z"}]},"request_id":"c2d034e2-fbd5-4c03-83dc-e65383aaa6cf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.4262846} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9b89523322841c6de806a756a2bc04a8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9b89523322841c6de806a756a2bc04a8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"85bbc384-060a-4cf3-8095-3d2023de7c5f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.4288712} gateway-1 | {"time_local":"28/Apr/2025:14:17:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a42b09af-c215-4162-9eb2-7e5877c49298? 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":"9b89523322841c6de806a756a2bc04a8"} device-1 | {"level":"info","message":"GET /devices/a42b09af-c215-4162-9eb2-7e5877c49298? 200 10ms","method":"GET","requestID":"9b89523322841c6de806a756a2bc04a8","responseTime":10,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6aa2c4c4-8c84-4a23-a018-d52bd9327dcf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.4291663} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb'","requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb'","requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"79d52e90-243b-11f0-b067-2fe344ae06f8","responseTime":48,"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":"79d52e90-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c92507126cf7b26a8e405003cfb2728b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"79e422b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e48d66d-2c09-4dd1-9e36-604c46640155","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.518916} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.237338,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79e422b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","rebac_allow":false,"scope_allow":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":"79e422b0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"79e422b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling 200 7ms","method":"POST","requestID":"79e422b0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"79e58240-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"369251c7-6bf8-4bee-a8cb-3945d0338f94","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849831.5276623} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.223167,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"79e58240-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","rebac_allow":false,"scope_allow":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":"79e58240-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"79e58240-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling 200 31ms","method":"POST","requestID":"79e58240-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling"} device-1 | {"device":"a42b09af-c215-4162-9eb2-7e5877c49298","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"913494bd-c4db-4be9-b7ab-83d4ed82e3bb","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"913494bd-c4db-4be9-b7ab-83d4ed82e3bb","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/913494bd-c4db-4be9-b7ab-83d4ed82e3bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"913494bd-c4db-4be9-b7ab-83d4ed82e3bb","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9aa2546c375f871c8f55cfda77e18d03","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"9aa2546c375f871c8f55cfda77e18d03","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/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6"},{"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/a42b09af-c215-4162-9eb2-7e5877c49298"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb"}}},"level":"info","message":"received a callback","requestID":"9aa2546c375f871c8f55cfda77e18d03"} device-1 | {"device":"a42b09af-c215-4162-9eb2-7e5877c49298","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a42b09af-c215-4162-9eb2-7e5877c49298","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a42b09af-c215-4162-9eb2-7e5877c49298","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"9aa2546c375f871c8f55cfda77e18d03","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:13 +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":"9aa2546c375f871c8f55cfda77e18d03"} device-1 | {"data":{"peerconnection":"913494bd-c4db-4be9-b7ab-83d4ed82e3bb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a42b09af-c215-4162-9eb2-7e5877c49298","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a42b09af-c215-4162-9eb2-7e5877c49298","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"913494bd-c4db-4be9-b7ab-83d4ed82e3bb","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/913494bd-c4db-4be9-b7ab-83d4ed82e3bb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"913494bd-c4db-4be9-b7ab-83d4ed82e3bb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"981067bb12bfa9accbbf359e50e722db","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"981067bb12bfa9accbbf359e50e722db","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/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6"},{"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/a42b09af-c215-4162-9eb2-7e5877c49298"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb"}}},"level":"info","message":"received a callback","requestID":"981067bb12bfa9accbbf359e50e722db"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"7b1acdf0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F913494bd-c4db-4be9-b7ab-83d4ed82e3bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"487b52ec-8d8d-4070-98cf-ecc9aa7661ba","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.5569026} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.026271,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7b1acdf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb","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":"7b1acdf0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"7b1acdf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb 200 10ms","method":"GET","requestID":"7b1acdf0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"981067bb12bfa9accbbf359e50e722db","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:13 +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":"981067bb12bfa9accbbf359e50e722db"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b1eeca0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f77fb9d5-712c-4a23-b956-4b3d6842f5c9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.5824537} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.539138,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7b1eeca0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","rebac_allow":false,"scope_allow":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":"7b1eeca0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7b1eeca0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling 200 9ms","method":"POST","requestID":"7b1eeca0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b209a50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd2879d9-ea17-4783-8871-e32508f047e0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.5939257} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.209289,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7b209a50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","rebac_allow":false,"scope_allow":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":"7b209a50-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7b209a50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling 200 8ms","method":"POST","requestID":"7b209a50-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzM30.jAG_0H8lkrd0wK_o4T0FXjjNpL-QwtfPq1PdQyJG6oc","level":"info","message":"auth send jwt","requestID":"8497b5a61d0f748125d0c0e385f1e8b3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8497b5a61d0f748125d0c0e385f1e8b3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","requestID":"8497b5a61d0f748125d0c0e385f1e8b3"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.839272,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8497b5a61d0f748125d0c0e385f1e8b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849833,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzM30.jAG_0H8lkrd0wK_o4T0FXjjNpL-QwtfPq1PdQyJG6oc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8497b5a61d0f748125d0c0e385f1e8b3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","requestID":"8497b5a61d0f748125d0c0e385f1e8b3"} gateway-1 | {"time_local":"28/Apr/2025:14:17:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8497b5a61d0f748125d0c0e385f1e8b3"} experiment-1 | {"level":"info","message":"GET /experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7 200 10ms","method":"GET","requestID":"8497b5a61d0f748125d0c0e385f1e8b3","responseTime":10,"status":200,"url":"/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzM30.jAG_0H8lkrd0wK_o4T0FXjjNpL-QwtfPq1PdQyJG6oc","level":"info","message":"auth send jwt","requestID":"9f0489cb165e95186e0f7f17f9d0b7e1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f0489cb165e95186e0f7f17f9d0b7e1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","requestID":"9f0489cb165e95186e0f7f17f9d0b7e1"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.792262,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9f0489cb165e95186e0f7f17f9d0b7e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849833,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzM30.jAG_0H8lkrd0wK_o4T0FXjjNpL-QwtfPq1PdQyJG6oc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9f0489cb165e95186e0f7f17f9d0b7e1","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Attempting to finish experiment","requestID":"9f0489cb165e95186e0f7f17f9d0b7e1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7b309fe0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.977091,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7b309fe0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849833,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzM30.jAG_0H8lkrd0wK_o4T0FXjjNpL-QwtfPq1PdQyJG6oc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7b309fe0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F913494bd-c4db-4be9-b7ab-83d4ed82e3bb': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F913494bd-c4db-4be9-b7ab-83d4ed82e3bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"2ee759e8-5822-4e77-90b9-56683a567869","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.7083495} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ee34089-de6f-4017-abec-10d0da856fcd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.7090418} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"7b309fe0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"device":"a42b09af-c215-4162-9eb2-7e5877c49298","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a42b09af-c215-4162-9eb2-7e5877c49298","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a42b09af-c215-4162-9eb2-7e5877c49298","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7b309fe0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb 204 26ms","method":"DELETE","requestID":"7b309fe0-243b-11f0-b067-2fe344ae06f8","responseTime":26,"status":204,"url":"/peerconnections/913494bd-c4db-4be9-b7ab-83d4ed82e3bb"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6'"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"},"level":"info","message":"Successfully finished experiment","requestID":"9f0489cb165e95186e0f7f17f9d0b7e1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b36e170-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac808fcb-dd2c-4b65-a2b1-bf5ba3aa9687","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.7401733} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.090537,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7b36e170-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6","object_type":"device","rebac_allow":false,"scope_allow":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":"7b36e170-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7b36e170-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"177bea57-c664-4a1b-b1df-12f12315e4f7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.7440202} device-1 | {"level":"info","message":"POST /devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling 200 9ms","method":"POST","requestID":"7b36e170-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e1e8f12-a69e-4c48-929a-e68dbe0b79ae","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.7443027} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"9f0489cb165e95186e0f7f17f9d0b7e1","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b388f20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa42b09af-c215-4162-9eb2-7e5877c49298","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0bfe4aca-1e25-4ec7-a400-1ddd8d18924d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.7506046} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.932403,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7b388f20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a42b09af-c215-4162-9eb2-7e5877c49298","object_type":"device","rebac_allow":false,"scope_allow":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":"7b388f20-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7b388f20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling 200 8ms","method":"POST","requestID":"7b388f20-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/a42b09af-c215-4162-9eb2-7e5877c49298/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7","requestID":"9f0489cb165e95186e0f7f17f9d0b7e1"} gateway-1 | {"time_local":"28/Apr/2025:14:17:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7 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":"9f0489cb165e95186e0f7f17f9d0b7e1"} experiment-1 | {"level":"info","message":"DELETE /experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7 204 134ms","method":"DELETE","requestID":"9f0489cb165e95186e0f7f17f9d0b7e1","responseTime":134,"status":204,"url":"/experiments/c57ff9c8-13ce-4ccd-9ad9-74c41d9fa9f7"} gateway-1 | {"time_local":"28/Apr/2025:14:17:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.747","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"558cbd382bf606483fbcdcd4a25f11f1"} gateway-1 | {"time_local":"28/Apr/2025:14:17:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.738","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d3ea21995d9731bd399b8f3e3ef443db"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7c80e4c9-0c8e-4bb4-80da-8376bd0d2af6' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzM30.jAG_0H8lkrd0wK_o4T0FXjjNpL-QwtfPq1PdQyJG6oc","level":"info","message":"auth send jwt","requestID":"68423dd5542aa71657bd17e90694640f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"68423dd5542aa71657bd17e90694640f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"68423dd5542aa71657bd17e90694640f"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.861259,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"68423dd5542aa71657bd17e90694640f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849833,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzM30.jAG_0H8lkrd0wK_o4T0FXjjNpL-QwtfPq1PdQyJG6oc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"68423dd5542aa71657bd17e90694640f","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/a42b09af-c215-4162-9eb2-7e5877c49298' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b082d86d-0017-4030-b979-402d361c4bd3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.8697536} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"68423dd5542aa71657bd17e90694640f","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"656daff1-cd74-4cfe-ba3f-6083c116446b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.8783116} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"68423dd5542aa71657bd17e90694640f","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"60919ffd-0944-4af3-8ea0-4bfb2206febe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.9124994} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1dc6689e-ccd4-4195-baa5-407fa261c059","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.9127426} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"68423dd5542aa71657bd17e90694640f","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:13.912467622Z"}]},"request_id":"ae2f636e-7c9e-44f5-89c3-728352fce922","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.9197142} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"68423dd5542aa71657bd17e90694640f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"68423dd5542aa71657bd17e90694640f"} gateway-1 | {"time_local":"28/Apr/2025:14:17:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68423dd5542aa71657bd17e90694640f"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"68423dd5542aa71657bd17e90694640f","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzM30.jAG_0H8lkrd0wK_o4T0FXjjNpL-QwtfPq1PdQyJG6oc","level":"info","message":"auth send jwt","requestID":"03dc7d69e62cba7f832f24e46bca107c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"03dc7d69e62cba7f832f24e46bca107c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"03dc7d69e62cba7f832f24e46bca107c"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.975102,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"03dc7d69e62cba7f832f24e46bca107c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849833,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzM30.jAG_0H8lkrd0wK_o4T0FXjjNpL-QwtfPq1PdQyJG6oc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"03dc7d69e62cba7f832f24e46bca107c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1c2d2483-6785-4f8c-a5f4-258b862ed4b7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.9726548} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"03dc7d69e62cba7f832f24e46bca107c","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1240d06-4a49-4a57-ad42-a38b6da6081d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849833.9773989} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"03dc7d69e62cba7f832f24e46bca107c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"e9402f06-effa-4ad6-9688-28b62c204fd0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849834.0117898} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c07b349-23f8-4648-8369-b170fd6f561e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849834.0119445} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"03dc7d69e62cba7f832f24e46bca107c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:14.011756777Z"}]},"request_id":"35d713b4-9568-46ef-b719-0d67298d9016","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849834.016685} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"03dc7d69e62cba7f832f24e46bca107c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"03dc7d69e62cba7f832f24e46bca107c"} gateway-1 | {"time_local":"28/Apr/2025:14:17:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03dc7d69e62cba7f832f24e46bca107c"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"03dc7d69e62cba7f832f24e46bca107c","responseTime":66,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c95aa09ab8a3c0a80bc43948c0be75b2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"c95aa09ab8a3c0a80bc43948c0be75b2","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/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":"c95aa09ab8a3c0a80bc43948c0be75b2"} device-1 | {"level":"info","message":"OPTIONS /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/websocket 200 1ms","method":"OPTIONS","requestID":"c95aa09ab8a3c0a80bc43948c0be75b2","responseTime":1,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f20885549f41d2a91b39638e8782d6b6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"f20885549f41d2a91b39638e8782d6b6","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/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":"f20885549f41d2a91b39638e8782d6b6"} device-1 | {"level":"info","message":"OPTIONS /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/websocket 200 1ms","method":"OPTIONS","requestID":"f20885549f41d2a91b39638e8782d6b6","responseTime":1,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ","level":"info","message":"auth send jwt","requestID":"4eb24b614220befcdcde567c5961fe33"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4eb24b614220befcdcde567c5961fe33","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4eb24b614220befcdcde567c5961fe33"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ","level":"info","message":"auth send jwt","requestID":"d8b6e5d5a9c06aa80b35ca032bc18589"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741658,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d8b6e5d5a9c06aa80b35ca032bc18589","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4eb24b614220befcdcde567c5961fe33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d8b6e5d5a9c06aa80b35ca032bc18589"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4eb24b614220befcdcde567c5961fe33","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816436,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"d8b6e5d5a9c06aa80b35ca032bc18589","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d8b6e5d5a9c06aa80b35ca032bc18589","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d8b6e5d5a9c06aa80b35ca032bc18589"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","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":"d8b6e5d5a9c06aa80b35ca032bc18589"} device-1 | {"level":"info","message":"POST /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/websocket 200 20ms","method":"POST","requestID":"d8b6e5d5a9c06aa80b35ca032bc18589","responseTime":20,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4eb24b614220befcdcde567c5961fe33"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4eb24b614220befcdcde567c5961fe33"} device-1 | {"level":"info","message":"POST /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/websocket 200 25ms","method":"POST","requestID":"4eb24b614220befcdcde567c5961fe33","responseTime":25,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ","level":"info","message":"auth send jwt","requestID":"d6de96d7041da8f7cb960c601776917c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d6de96d7041da8f7cb960c601776917c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d6de96d7041da8f7cb960c601776917c"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658823,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"d6de96d7041da8f7cb960c601776917c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d6de96d7041da8f7cb960c601776917c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:13.912467622Z"}]},"request_id":"dd1f637a-6d05-42a2-80e7-ceca3664e05d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.3529263} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d6de96d7041da8f7cb960c601776917c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d6de96d7041da8f7cb960c601776917c"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff? 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":"d6de96d7041da8f7cb960c601776917c"} device-1 | {"level":"info","message":"GET /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff? 200 10ms","method":"GET","requestID":"d6de96d7041da8f7cb960c601776917c","responseTime":10,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ","level":"info","message":"auth send jwt","requestID":"78c9c89458fe050fa1e5f60d19cc2c8c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"78c9c89458fe050fa1e5f60d19cc2c8c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"78c9c89458fe050fa1e5f60d19cc2c8c"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70073,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"78c9c89458fe050fa1e5f60d19cc2c8c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78c9c89458fe050fa1e5f60d19cc2c8c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:14.011756777Z"}]},"request_id":"832f1b74-d360-4119-a379-a1a7f16e2b0b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.3675385} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78c9c89458fe050fa1e5f60d19cc2c8c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"78c9c89458fe050fa1e5f60d19cc2c8c"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148? 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":"78c9c89458fe050fa1e5f60d19cc2c8c"} device-1 | {"level":"info","message":"GET /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148? 200 13ms","method":"GET","requestID":"78c9c89458fe050fa1e5f60d19cc2c8c","responseTime":13,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ","level":"info","message":"auth send jwt","requestID":"b8bf6fec8ae231672364518a451102e0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b8bf6fec8ae231672364518a451102e0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"b8bf6fec8ae231672364518a451102e0"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.648759,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b8bf6fec8ae231672364518a451102e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b8bf6fec8ae231672364518a451102e0","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Attempting to run experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Attempting to book experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Successfully booked experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7ccf82d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7ccfa9e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62878,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ccf82d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7ccf82d0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003318,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ccfa9e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7ccfa9e0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:13.912467622Z"}]},"request_id":"882803e5-c555-4066-beec-00ae88b69efe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.4201465} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ccf82d0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:14.011756777Z"}]},"request_id":"f1d2233b-885b-4d7f-86e1-5ce683f1585d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.423251} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7ccf82d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ccfa9e0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff? 200 11ms","method":"GET","requestID":"7ccf82d0-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7ccfa9e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148? 200 37ms","method":"GET","requestID":"7ccfa9e0-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Setting up experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Successfully locked booking for experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Attempting to update booking for experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Successfully updated booking for experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Successfully set up experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7cdf3a40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7cdf8860-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Successfully running experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7cdfaf70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.914735,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7cdf3a40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"7cdf3a40-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.241752,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7cdf8860-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"7cdf8860-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98e055b2-95c9-42b2-8d62-1195c5e1ccb0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.5506883} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:13.912467622Z"}]},"request_id":"3b8f9b42-c18c-42cf-9ae0-b62a0bea62dd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.5515418} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.078254,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7cdfaf70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","rebac_allow":false,"scope_allow":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":"7cdfaf70-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7cdf3a40-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:14.011756777Z"}]},"request_id":"9de8e43c-e6d9-4276-8e19-0e7217b6bf11","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.5526896} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7cdf8860-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7cdfaf70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f729288-fafe-4005-b5c1-0e70609e8819#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f729288-fafe-4005-b5c1-0e70609e8819","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"1813ae7e-1585-4b09-a2cb-d24ef9ea953e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.5579724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fd2cc3c-ed83-40d5-8ac5-e2a430299c50","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.5582476} device-1 | {"level":"info","message":"POST /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling 200 39ms","method":"POST","requestID":"7cdfaf70-243b-11f0-b067-2fe344ae06f8","responseTime":39,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7cdf8860-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148? 200 41ms","method":"GET","requestID":"7cdf8860-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7cdf3a40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b8bf6fec8ae231672364518a451102e0","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff? 200 44ms","method":"GET","requestID":"7cdf3a40-243b-11f0-b067-2fe344ae06f8","responseTime":44,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ce61810-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ce6b450-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36f074ac-0a30-48da-bca0-a0f740fa04e6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.5660763} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"b8bf6fec8ae231672364518a451102e0"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.727901,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 191ms","method":"POST","requestID":"b8bf6fec8ae231672364518a451102e0","responseTime":191,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ce61810-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","rebac_allow":false,"scope_allow":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":"7ce61810-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7dc91350-5b27-4f9b-a7b9-0c9a30423a90","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.5944068} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.058817,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ce6b450-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","rebac_allow":false,"scope_allow":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":"7ce6b450-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ce61810-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ","level":"info","message":"auth send jwt","requestID":"7f332de293f406e8a0f6108ada4ba0fa"} device-1 | {"level":"info","message":"POST /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling 200 36ms","method":"POST","requestID":"7ce61810-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7f332de293f406e8a0f6108ada4ba0fa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7f332de293f406e8a0f6108ada4ba0fa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ce6b450-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling 200 35ms","method":"POST","requestID":"7ce6b450-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.765977,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7f332de293f406e8a0f6108ada4ba0fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7f332de293f406e8a0f6108ada4ba0fa","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7cec80b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:13.912467622Z"}]},"request_id":"ee30ecb1-4823-4672-9e12-d3571f2ddca2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.606563} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f54acd81-4145-4c3b-bf95-14060319f53d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.606694} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7f332de293f406e8a0f6108ada4ba0fa","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.194352,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7cec80b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","rebac_allow":false,"scope_allow":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":"7cec80b0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7f332de293f406e8a0f6108ada4ba0fa"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff? 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":"7f332de293f406e8a0f6108ada4ba0fa"} device-1 | {"level":"info","message":"GET /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff? 200 12ms","method":"GET","requestID":"7f332de293f406e8a0f6108ada4ba0fa","responseTime":12,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7cec80b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling 200 9ms","method":"POST","requestID":"7cec80b0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Building connection plan","requestID":"b8bf6fec8ae231672364518a451102e0"} 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":"34faa60e-fadc-49b1-a53e-1b645290b961"},{"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":"5dba8dde-7247-4e2c-ac77-bb171b870a2b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5d609fce-eec8-4fe8-bc21-912f3e094d5c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"b8bf6fec8ae231672364518a451102e0"} 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/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff"},{"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/bde0ce80-6057-46a8-9f56-1fc7f1c32148"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"b8bf6fec8ae231672364518a451102e0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ","level":"info","message":"auth send jwt","requestID":"bfbff90c5d0fa5606b798ec456a51a1a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bfbff90c5d0fa5606b798ec456a51a1a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bfbff90c5d0fa5606b798ec456a51a1a"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.7019,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651943,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bfbff90c5d0fa5606b798ec456a51a1a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bfbff90c5d0fa5606b798ec456a51a1a","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"f6292d0b-9e15-4fb1-ad23-f5dbd159b01b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.6481636} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8607291-2fb3-4d3f-ba43-b6c38f388165","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.648352} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:14.011756777Z"}]},"request_id":"148cb3b5-09e4-4029-affa-296107c2bb5c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.6489525} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bfbff90c5d0fa5606b798ec456a51a1a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bfbff90c5d0fa5606b798ec456a51a1a"} device-1 | {"level":"info","message":"GET /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148? 200 38ms","method":"GET","requestID":"bfbff90c5d0fa5606b798ec456a51a1a","responseTime":38,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148? 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":"bfbff90c5d0fa5606b798ec456a51a1a"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4'","requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4'","requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"7cee2e60-243b-11f0-b067-2fe344ae06f8","responseTime":49,"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":"7cee2e60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4","device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","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/163cc0fe-f023-4139-bfde-c5b93ed81aa4","device":"bde0ce80-6057-46a8-9f56-1fc7f1c32148","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/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"b8bf6fec8ae231672364518a451102e0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d011a20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7625b0c-80fb-4089-b22e-2eb05cfef2c4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.741982} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.166139,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7d011a20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","rebac_allow":false,"scope_allow":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":"7d011a20-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7d011a20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling 200 7ms","method":"POST","requestID":"7d011a20-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d0279b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d27d04f-cea7-4e73-9a04-b8eec5d35632","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.7515862} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.59427,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7d0279b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","rebac_allow":false,"scope_allow":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":"7d0279b0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7d0279b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling 200 12ms","method":"POST","requestID":"7d0279b0-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling"} device-1 | {"device":"bde0ce80-6057-46a8-9f56-1fc7f1c32148","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"bde0ce80-6057-46a8-9f56-1fc7f1c32148","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 7576257084080528377 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:E0uD\r\na=ice-pwd:WtJi/8IGkdoCR+8mct8lORNW\r\na=ice-options:trickle\r\na=fingerprint:sha-256 8D:52:25:79:B1:51:A6:61:90:B4:A8:56:A4:68:78:BA:74:14:B3:8E:1D:E6:B9:B3:1C:92:FD:89:E9:52:87:BA\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"bde0ce80-6057-46a8-9f56-1fc7f1c32148","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6144752675052441627 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:jMVr\r\na=ice-pwd:SlynC7wMVSLejJXUWSBZeOZ8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 58:7A:B3:66:87:28:DB:24:6A:26:F0:B0:FF:1E:4C:B9:03:85:C0:B9:2A:16:AD:AB:D2:5A:36:92:89:50:EA:D2\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2302932357 1 udp 2113937151 f050ad43-bf86-467d-8433-4ef3d87910b6.local 34582 typ host generation 0 ufrag jMVr network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","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/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff'"} device-1 | {"content":{"candidate":"candidate:3194244796 1 udp 2113937151 c4a80909-afd1-42c6-b4f7-3f1abc784bd7.local 51900 typ host generation 0 ufrag E0uD network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bde0ce80-6057-46a8-9f56-1fc7f1c32148","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"bde0ce80-6057-46a8-9f56-1fc7f1c32148","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/163cc0fe-f023-4139-bfde-c5b93ed81aa4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"163cc0fe-f023-4139-bfde-c5b93ed81aa4","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"88ac87ba5f8f07b766ca34ae5d5f8807","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"bde0ce80-6057-46a8-9f56-1fc7f1c32148","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"88ac87ba5f8f07b766ca34ae5d5f8807","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff"},{"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/bde0ce80-6057-46a8-9f56-1fc7f1c32148"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4"}}},"level":"info","message":"received a callback","requestID":"88ac87ba5f8f07b766ca34ae5d5f8807"} device-1 | {"device":"bde0ce80-6057-46a8-9f56-1fc7f1c32148","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"88ac87ba5f8f07b766ca34ae5d5f8807","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"88ac87ba5f8f07b766ca34ae5d5f8807"} device-1 | {"device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"163cc0fe-f023-4139-bfde-c5b93ed81aa4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"163cc0fe-f023-4139-bfde-c5b93ed81aa4","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/163cc0fe-f023-4139-bfde-c5b93ed81aa4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"163cc0fe-f023-4139-bfde-c5b93ed81aa4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4e9aaa66f1f6a77c6a77dd355ea24795","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4e9aaa66f1f6a77c6a77dd355ea24795","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/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff"},{"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/bde0ce80-6057-46a8-9f56-1fc7f1c32148"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4"}}},"level":"info","message":"received a callback","requestID":"4e9aaa66f1f6a77c6a77dd355ea24795"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"7d1a2060-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F163cc0fe-f023-4139-bfde-c5b93ed81aa4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b20ab1b-e4a3-4994-8fa9-caafb889cf40","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.930607} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.706074,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7d1a2060-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4","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 29ms","method":"POST","requestID":"7d1a2060-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"7d1a2060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4 200 32ms","method":"GET","requestID":"7d1a2060-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"4e9aaa66f1f6a77c6a77dd355ea24795","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"4e9aaa66f1f6a77c6a77dd355ea24795"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d217360-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f361e500-5ca9-4658-b201-957c5533baa1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.9779565} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.269041,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7d217360-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","rebac_allow":false,"scope_allow":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":"7d217360-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ","level":"info","message":"auth send jwt","requestID":"408d4d005566e3d151af8cd36762569c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7d217360-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"408d4d005566e3d151af8cd36762569c","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling 200 32ms","method":"POST","requestID":"7d217360-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7f729288-fafe-4005-b5c1-0e70609e8819","requestID":"408d4d005566e3d151af8cd36762569c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d26a380-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.011912,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"408d4d005566e3d151af8cd36762569c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"408d4d005566e3d151af8cd36762569c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cd36049-82fd-4475-9a03-a6917eebc385","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849836.9892979} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.375724,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7d26a380-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","rebac_allow":false,"scope_allow":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":"7d26a380-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7f729288-fafe-4005-b5c1-0e70609e8819","requestID":"408d4d005566e3d151af8cd36762569c"} gateway-1 | {"time_local":"28/Apr/2025:14:17:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7f729288-fafe-4005-b5c1-0e70609e8819 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"408d4d005566e3d151af8cd36762569c"} experiment-1 | {"level":"info","message":"GET /experiments/7f729288-fafe-4005-b5c1-0e70609e8819 200 9ms","method":"GET","requestID":"408d4d005566e3d151af8cd36762569c","responseTime":9,"status":200,"url":"/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7d26a380-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling 200 10ms","method":"POST","requestID":"7d26a380-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ","level":"info","message":"auth send jwt","requestID":"1ceee8be34a8c1eefbf03e103e9bafe4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ceee8be34a8c1eefbf03e103e9bafe4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7f729288-fafe-4005-b5c1-0e70609e8819","requestID":"1ceee8be34a8c1eefbf03e103e9bafe4"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:16Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.66777,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"1ceee8be34a8c1eefbf03e103e9bafe4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"1ceee8be34a8c1eefbf03e103e9bafe4","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Attempting to finish experiment","requestID":"1ceee8be34a8c1eefbf03e103e9bafe4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7d2da860-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.721186,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7d2da860-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849836,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzNn0.R5adczE6Ktfyuu0DqNvv1U0iZ10HXGuLLakk0R9jqEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7d2da860-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4","device":"44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4","device":"bde0ce80-6057-46a8-9f56-1fc7f1c32148","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/163cc0fe-f023-4139-bfde-c5b93ed81aa4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"163cc0fe-f023-4139-bfde-c5b93ed81aa4","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0fd8cfd07aa6f8c08d8160b51dc905f3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"0fd8cfd07aa6f8c08d8160b51dc905f3","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/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff"},{"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/bde0ce80-6057-46a8-9f56-1fc7f1c32148"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4"}}},"level":"info","message":"received a callback","requestID":"0fd8cfd07aa6f8c08d8160b51dc905f3"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F163cc0fe-f023-4139-bfde-c5b93ed81aa4': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F163cc0fe-f023-4139-bfde-c5b93ed81aa4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"4a124626-e82e-4918-829d-137021476733","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.045241} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3e23f0909a868bb5e6fb2e87c3db95f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"3e23f0909a868bb5e6fb2e87c3db95f2","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c971089c-e900-421d-8f7d-2d5ec8531cf9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.0457175} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"7d2da860-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} 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/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff"},{"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/bde0ce80-6057-46a8-9f56-1fc7f1c32148"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4"}}},"level":"info","message":"received a callback","requestID":"3e23f0909a868bb5e6fb2e87c3db95f2"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7d2da860-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4 204 55ms","method":"DELETE","requestID":"7d2da860-243b-11f0-b067-2fe344ae06f8","responseTime":55,"status":204,"url":"/peerconnections/163cc0fe-f023-4139-bfde-c5b93ed81aa4"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"},"level":"info","message":"Successfully finished experiment","requestID":"1ceee8be34a8c1eefbf03e103e9bafe4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d3b8b10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96e73eff-865b-48e5-b35e-8bbab201b8ba","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.1258757} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.696155,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7d3b8b10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff","object_type":"device","rebac_allow":false,"scope_allow":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":"7d3b8b10-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7d3b8b10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling 200 8ms","method":"POST","requestID":"7d3b8b10-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d3d11b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f729288-fafe-4005-b5c1-0e70609e8819': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7f729288-fafe-4005-b5c1-0e70609e8819","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"02f3662d-a331-4416-aa38-724a6a9701b8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.1352658} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbde0ce80-6057-46a8-9f56-1fc7f1c32148","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56bac50c-e486-48db-9414-6030649caa7a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.1353955} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c5f2e9a-1701-413f-859d-6f500faf5c20","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.1354759} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.393706,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7d3d11b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148","object_type":"device","rebac_allow":false,"scope_allow":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":"7d3d11b0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"1ceee8be34a8c1eefbf03e103e9bafe4","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7d3d11b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling 200 9ms","method":"POST","requestID":"7d3d11b0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7f729288-fafe-4005-b5c1-0e70609e8819","requestID":"1ceee8be34a8c1eefbf03e103e9bafe4"} gateway-1 | {"time_local":"28/Apr/2025:14:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7f729288-fafe-4005-b5c1-0e70609e8819 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":"1ceee8be34a8c1eefbf03e103e9bafe4"} experiment-1 | {"level":"info","message":"DELETE /experiments/7f729288-fafe-4005-b5c1-0e70609e8819 204 237ms","method":"DELETE","requestID":"1ceee8be34a8c1eefbf03e103e9bafe4","responseTime":237,"status":204,"url":"/experiments/7f729288-fafe-4005-b5c1-0e70609e8819"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"0fd8cfd07aa6f8c08d8160b51dc905f3","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"0fd8cfd07aa6f8c08d8160b51dc905f3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"3e23f0909a868bb5e6fb2e87c3db95f2","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e23f0909a868bb5e6fb2e87c3db95f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzN30.QHtaETH9RZvAWFP5MoKbtavWeC8x-iHVIxuxLHS89iQ","level":"info","message":"auth send jwt","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.689996,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:17Z"} gateway-1 | {"time_local":"28/Apr/2025:14:17:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"0.940","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9c81bb65a8e75e71e3dbde2184fd63df"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849837,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzN30.QHtaETH9RZvAWFP5MoKbtavWeC8x-iHVIxuxLHS89iQ"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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":"0.941","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":"9b867f6626cba967088686de498064dc"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/44cb05a5-cbf3-4d5a-8978-a4b68b6b01ff' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bde0ce80-6057-46a8-9f56-1fc7f1c32148' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bca655d9-7a09-460e-b409-4d4216cfd3a9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.282883} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2d44c94-6459-4615-8b93-a12655ce06a3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.287872} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"cbb89bd2-df8c-4ed8-bc05-d9de9f8f40ea","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.3203979} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08764dab-48dc-4919-9182-1bf2e71b1c6f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.3204966} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.320376616Z"}]},"request_id":"ccaa412b-4237-491a-8847-91fcf8553636","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.3238842} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4","responseTime":84,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f8dda7c78fa9673e60ca4ffe0fb38b4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzN30.QHtaETH9RZvAWFP5MoKbtavWeC8x-iHVIxuxLHS89iQ","level":"info","message":"auth send jwt","requestID":"73ea2b8f2165249a1e1afb93e3a60423"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"73ea2b8f2165249a1e1afb93e3a60423","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"73ea2b8f2165249a1e1afb93e3a60423"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.665591,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"73ea2b8f2165249a1e1afb93e3a60423","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849837,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzN30.QHtaETH9RZvAWFP5MoKbtavWeC8x-iHVIxuxLHS89iQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"73ea2b8f2165249a1e1afb93e3a60423","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bb58a0bf-69cf-4964-a1f7-a3b7908c78e2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.3710158} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"73ea2b8f2165249a1e1afb93e3a60423","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cde64679-8ccd-44f6-a473-ca951599fe97","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.3745048} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"73ea2b8f2165249a1e1afb93e3a60423","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"a09c79bc-08e2-474f-85f1-6cc304e14ea7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.3839865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb19d2d6-4526-43d0-b2d1-caa3bf8e2f5f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.3841574} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"73ea2b8f2165249a1e1afb93e3a60423","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.383959108Z"}]},"request_id":"d448cb7f-d105-4e49-9fe7-1f46fdf3b021","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849837.3872108} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"73ea2b8f2165249a1e1afb93e3a60423","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"73ea2b8f2165249a1e1afb93e3a60423"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73ea2b8f2165249a1e1afb93e3a60423"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"73ea2b8f2165249a1e1afb93e3a60423","responseTime":82,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b9ef20ccd1de92ea80ce56fdc036fcc1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b9ef20ccd1de92ea80ce56fdc036fcc1","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/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":"b9ef20ccd1de92ea80ce56fdc036fcc1"} device-1 | {"level":"info","message":"OPTIONS /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/websocket 200 1ms","method":"OPTIONS","requestID":"b9ef20ccd1de92ea80ce56fdc036fcc1","responseTime":1,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M","level":"info","message":"auth send jwt","requestID":"fd1af2d84c9c6985ab6a87ae9129b3f6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fd1af2d84c9c6985ab6a87ae9129b3f6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fd1af2d84c9c6985ab6a87ae9129b3f6"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.543892,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fd1af2d84c9c6985ab6a87ae9129b3f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fd1af2d84c9c6985ab6a87ae9129b3f6","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"23038705e24a38d875dd0a0b632a91bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"23038705e24a38d875dd0a0b632a91bf","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/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":"23038705e24a38d875dd0a0b632a91bf"} device-1 | {"level":"info","message":"OPTIONS /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/websocket 200 0ms","method":"OPTIONS","requestID":"23038705e24a38d875dd0a0b632a91bf","responseTime":0,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M","level":"info","message":"auth send jwt","requestID":"11f805cdcb651b4ac1d69e080cd5a286"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"11f805cdcb651b4ac1d69e080cd5a286","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fd1af2d84c9c6985ab6a87ae9129b3f6"} gateway-1 | {"time_local":"28/Apr/2025:14:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","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":"fd1af2d84c9c6985ab6a87ae9129b3f6"} device-1 | {"level":"info","message":"POST /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/websocket 200 19ms","method":"POST","requestID":"fd1af2d84c9c6985ab6a87ae9129b3f6","responseTime":19,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"11f805cdcb651b4ac1d69e080cd5a286"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865786,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"11f805cdcb651b4ac1d69e080cd5a286","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"11f805cdcb651b4ac1d69e080cd5a286","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"11f805cdcb651b4ac1d69e080cd5a286"} device-1 | {"level":"info","message":"POST /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/websocket 200 14ms","method":"POST","requestID":"11f805cdcb651b4ac1d69e080cd5a286","responseTime":14,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/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":"11f805cdcb651b4ac1d69e080cd5a286"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M","level":"info","message":"auth send jwt","requestID":"dcbf0a26b427cab0fc443fffa63942ba"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dcbf0a26b427cab0fc443fffa63942ba","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dcbf0a26b427cab0fc443fffa63942ba"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651393,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"dcbf0a26b427cab0fc443fffa63942ba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"dcbf0a26b427cab0fc443fffa63942ba","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.320376616Z"}]},"request_id":"18b851c1-8bd4-4531-9aa2-d727a9d84791","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.6994765} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dcbf0a26b427cab0fc443fffa63942ba","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dcbf0a26b427cab0fc443fffa63942ba"} gateway-1 | {"time_local":"28/Apr/2025:14:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178? 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":"dcbf0a26b427cab0fc443fffa63942ba"} device-1 | {"level":"info","message":"GET /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178? 200 10ms","method":"GET","requestID":"dcbf0a26b427cab0fc443fffa63942ba","responseTime":10,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M","level":"info","message":"auth send jwt","requestID":"b223183725aba1340aa4463f35a3c6e8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b223183725aba1340aa4463f35a3c6e8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b223183725aba1340aa4463f35a3c6e8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649394,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b223183725aba1340aa4463f35a3c6e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b223183725aba1340aa4463f35a3c6e8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.383959108Z"}]},"request_id":"131c4920-959f-4547-a9d8-636f7aa94621","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.713749} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b223183725aba1340aa4463f35a3c6e8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b223183725aba1340aa4463f35a3c6e8"} gateway-1 | {"time_local":"28/Apr/2025:14:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635? 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":"b223183725aba1340aa4463f35a3c6e8"} device-1 | {"level":"info","message":"GET /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635? 200 9ms","method":"GET","requestID":"b223183725aba1340aa4463f35a3c6e8","responseTime":9,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M","level":"info","message":"auth send jwt","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1e267e46ab0a4e572c96c714498cf9c2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.70015,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"1e267e46ab0a4e572c96c714498cf9c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1e267e46ab0a4e572c96c714498cf9c2","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Attempting to run experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Attempting to book experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Successfully booked experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7ed5b310-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7ed5da20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937319,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ed5b310-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7ed5b310-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658467,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ed5da20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7ed5da20-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.320376616Z"}]},"request_id":"6e57bb4c-5c7a-49f3-b50e-895e5b17048d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.8178596} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7ed5b310-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.383959108Z"}]},"request_id":"eaf3f3cc-ab01-488d-8867-9befeb90c809","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.8207812} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7ed5b310-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7ed5da20-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178? 200 12ms","method":"GET","requestID":"7ed5b310-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7ed5da20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635? 200 15ms","method":"GET","requestID":"7ed5da20-243b-11f0-b067-2fe344ae06f8","responseTime":15,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Setting up experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Successfully set up experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7ee62dd0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7ee654e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ee67bf0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Successfully running experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.973126,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ee62dd0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7ee62dd0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831333,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ee654e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"7ee654e0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.386557,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0680e9bd-f69e-4d6e-addd-f1a37fa720b3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.9275274} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ee67bf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","rebac_allow":false,"scope_allow":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":"7ee67bf0-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ee67bf0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.320376616Z"}]},"request_id":"f3abe242-76a3-4c09-8e8b-065c499d28e5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.9556792} device-1 | {"level":"info","message":"POST /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling 200 37ms","method":"POST","requestID":"7ee67bf0-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ee62dd0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.383959108Z"}]},"request_id":"b8cfdf98-674d-4a73-89d6-c89452a28958","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.9565313} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ee654e0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7eec9670-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7ee62dd0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178? 200 47ms","method":"GET","requestID":"7ee62dd0-243b-11f0-b067-2fe344ae06f8","responseTime":47,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7ee654e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635? 200 47ms","method":"GET","requestID":"7ee654e0-243b-11f0-b067-2fe344ae06f8","responseTime":47,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee6c10b4-88fa-455e-86c2-16e4621a834a#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee6c10b4-88fa-455e-86c2-16e4621a834a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"8f51e9fd-977c-4bc7-9639-28dcbe663028","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.9615705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffc5e824-55b6-4c5f-bab5-5489ad6e8461","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.9620466} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"1e267e46ab0a4e572c96c714498cf9c2","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.550013,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1eaaaa4-b5b4-4f12-8130-2208af500f24","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.9672918} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7eee1d10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7eec9670-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","object_type":"device","rebac_allow":false,"scope_allow":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":"7eec9670-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7eec9670-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling 200 14ms","method":"POST","requestID":"7eec9670-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9c7ebb3-4b52-4f9b-804d-71ae051366c4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.9748626} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.102655,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7eee1d10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","rebac_allow":false,"scope_allow":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":"7eee1d10-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:14:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.261","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 256ms","method":"POST","requestID":"1e267e46ab0a4e572c96c714498cf9c2","responseTime":256,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7eee1d10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling 200 12ms","method":"POST","requestID":"7eee1d10-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M","level":"info","message":"auth send jwt","requestID":"c3ee23ce958ee58546096a9b79e3e903"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c3ee23ce958ee58546096a9b79e3e903","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3ee23ce958ee58546096a9b79e3e903"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ef0b520-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891141,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c3ee23ce958ee58546096a9b79e3e903","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c3ee23ce958ee58546096a9b79e3e903","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:19Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.320376616Z"}]},"request_id":"b6b9e5f5-85dc-442f-9f96-71489e112b10","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.9911191} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c3ee23ce958ee58546096a9b79e3e903","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f093101-6bd8-4802-9b88-f7eee0df3b3f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849839.9913828} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.50946,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:19Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3ee23ce958ee58546096a9b79e3e903"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ef0b520-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","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":"28/Apr/2025:14:17:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178? 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":"c3ee23ce958ee58546096a9b79e3e903"} device-1 | {"level":"info","message":"GET /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178? 200 12ms","method":"GET","requestID":"c3ee23ce958ee58546096a9b79e3e903","responseTime":12,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178?"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"7ef0b520-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ef0b520-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling 200 12ms","method":"POST","requestID":"7ef0b520-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M","level":"info","message":"auth send jwt","requestID":"294856f8506d14d42f2789d9d6ac1607"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Building connection plan","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"294856f8506d14d42f2789d9d6ac1607","responseTime":3,"status":200,"url":"/auth"} 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":"319185bb-2696-4bee-a0c5-6fbbd3b6654c"},{"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":"d9c5962b-4644-4521-9a40-34cb8bb5efd5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"69f8aa01-f6e9-47c9-9741-d663ed9cd657"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} 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/9f59872c-8f99-41d1-a3a1-c851df1ce178"},{"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/1f8fb10f-6281-4229-8b69-37cd9f5a3635"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"294856f8506d14d42f2789d9d6ac1607"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935771,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"294856f8506d14d42f2789d9d6ac1607","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"294856f8506d14d42f2789d9d6ac1607","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.677829,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849839,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTgzOX0.kJEC1sbR8Wr4f9MpML8uxtiOoWW2VWCyFXVVIP1ih7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:17.383959108Z"}]},"request_id":"2b0e2462-232a-4de9-817e-47af38a99acb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.0082524} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"294856f8506d14d42f2789d9d6ac1607","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"294856f8506d14d42f2789d9d6ac1607"} gateway-1 | {"time_local":"28/Apr/2025:14:17:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635? 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":"294856f8506d14d42f2789d9d6ac1607"} device-1 | {"level":"info","message":"GET /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635? 200 13ms","method":"GET","requestID":"294856f8506d14d42f2789d9d6ac1607","responseTime":13,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"a5576ece-4dad-4a45-94b4-a1f7a3b66e24","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.0151796} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7f42604-b301-44ba-a64e-b6354bf10cd5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.0155275} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba'","requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba'","requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 23ms","method":"POST","requestID":"7ef2ff10-243b-11f0-b067-2fe344ae06f8","responseTime":23,"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":"7ef2ff10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba","device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","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/db534940-c07c-490b-9fcb-b15c5c2d7cba","device":"1f8fb10f-6281-4229-8b69-37cd9f5a3635","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/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1e267e46ab0a4e572c96c714498cf9c2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7efaee50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4264f567-4ccf-4ac3-a3b4-8e715952e3cb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.0594327} device-1 | {"device":"1f8fb10f-6281-4229-8b69-37cd9f5a3635","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1f8fb10f-6281-4229-8b69-37cd9f5a3635","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.498686,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7efaee50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","rebac_allow":false,"scope_allow":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":"7efaee50-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7efaee50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling 200 16ms","method":"POST","requestID":"7efaee50-243b-11f0-b067-2fe344ae06f8","responseTime":16,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7efdd480-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8efe1940-00dd-465f-a6f3-df764217c30f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.1014645} device-1 | {"content":{"sdp":"v=0\r\no=- 7876867433718038120 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:ei7q\r\na=ice-pwd:a4H1+lPsQ9kHGEYTCyLvXjpL\r\na=ice-options:trickle\r\na=fingerprint:sha-256 EE:19:00:23:EF:97:D8:73:0B:E7:2D:66:B4:A8:B6:2F:D5:81:7A:6D:4E:A7:98:70:DB:FB:8C:78:37:8E:E1:06\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"1f8fb10f-6281-4229-8b69-37cd9f5a3635","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.051051,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7efdd480-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","object_type":"device","rebac_allow":false,"scope_allow":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":"7efdd480-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7efdd480-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling 200 35ms","method":"POST","requestID":"7efdd480-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 6612056651568089310 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:zQC9\r\na=ice-pwd:6LoIwKkXfJJ43eMwdm6PzBoM\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C8:4A:32:CB:4E:A4:7C:36:91:10:C9:21:D9:29:BE:B7:4D:B7:9D:69:B7:9D:6A:B9:40:1B:73:07:C3:28:A3:61\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1594724233 1 udp 2113937151 6d4f1405-1d39-47f8-87b2-7d9bff35b28d.local 32995 typ host generation 0 ufrag zQC9 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","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/9f59872c-8f99-41d1-a3a1-c851df1ce178'"} device-1 | {"content":{"candidate":"candidate:2486620532 1 udp 2113937151 e3f27c02-762b-4b36-bc00-e3dda389d601.local 48220 typ host generation 0 ufrag ei7q network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1f8fb10f-6281-4229-8b69-37cd9f5a3635","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"1f8fb10f-6281-4229-8b69-37cd9f5a3635","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","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/db534940-c07c-490b-9fcb-b15c5c2d7cba' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db534940-c07c-490b-9fcb-b15c5c2d7cba","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"1f8fb10f-6281-4229-8b69-37cd9f5a3635","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c7a7694fc76970e6d2572d1a22a3f1e3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"c7a7694fc76970e6d2572d1a22a3f1e3","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"1f8fb10f-6281-4229-8b69-37cd9f5a3635","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","deviceName":"JS Device 1","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","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/9f59872c-8f99-41d1-a3a1-c851df1ce178"},{"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/1f8fb10f-6281-4229-8b69-37cd9f5a3635"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba"}}},"level":"info","message":"received a callback","requestID":"c7a7694fc76970e6d2572d1a22a3f1e3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"c7a7694fc76970e6d2572d1a22a3f1e3","responseTime":8,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"c7a7694fc76970e6d2572d1a22a3f1e3"} device-1 | {"data":{"peerconnection":"db534940-c07c-490b-9fcb-b15c5c2d7cba","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"db534940-c07c-490b-9fcb-b15c5c2d7cba","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/db534940-c07c-490b-9fcb-b15c5c2d7cba' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db534940-c07c-490b-9fcb-b15c5c2d7cba","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e87c5b56103a8df222e1b62df7dc96c4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"e87c5b56103a8df222e1b62df7dc96c4","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/9f59872c-8f99-41d1-a3a1-c851df1ce178"},{"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/1f8fb10f-6281-4229-8b69-37cd9f5a3635"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba"}}},"level":"info","message":"received a callback","requestID":"e87c5b56103a8df222e1b62df7dc96c4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"7f126df0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb534940-c07c-490b-9fcb-b15c5c2d7cba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fdb70f2-ffa9-450e-900d-16aeec9b17f6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.2113698} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.323992,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7f126df0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba","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":"7f126df0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"7f126df0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba 200 7ms","method":"GET","requestID":"7f126df0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"e87c5b56103a8df222e1b62df7dc96c4","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"e87c5b56103a8df222e1b62df7dc96c4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f1a0f10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a4dde6b-9ffe-40fb-aa6b-d1f85a86fb01","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.2611172} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.153531,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7f1a0f10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","rebac_allow":false,"scope_allow":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":"7f1a0f10-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f1a0f10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling 200 32ms","method":"POST","requestID":"7f1a0f10-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MH0.JTFBQ7kN-C_hT7FwNwDaGOkzk_uVugDsQzgqDCd_Djs","level":"info","message":"auth send jwt","requestID":"56da538ca32aa26adc1fcac0f3dc449a"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"56da538ca32aa26adc1fcac0f3dc449a","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a","requestID":"56da538ca32aa26adc1fcac0f3dc449a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f1f1820-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691923,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"56da538ca32aa26adc1fcac0f3dc449a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849840,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MH0.JTFBQ7kN-C_hT7FwNwDaGOkzk_uVugDsQzgqDCd_Djs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"56da538ca32aa26adc1fcac0f3dc449a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4739c49e-ad29-4478-938c-1dbf69f7b9d9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.2948842} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.624918,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7f1f1820-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","object_type":"device","rebac_allow":false,"scope_allow":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":"7f1f1820-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f1f1820-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling 200 8ms","method":"POST","requestID":"7f1f1820-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a","requestID":"56da538ca32aa26adc1fcac0f3dc449a"} experiment-1 | {"level":"info","message":"GET /experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a 200 10ms","method":"GET","requestID":"56da538ca32aa26adc1fcac0f3dc449a","responseTime":10,"status":200,"url":"/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"} gateway-1 | {"time_local":"28/Apr/2025:14:17:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56da538ca32aa26adc1fcac0f3dc449a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MH0.JTFBQ7kN-C_hT7FwNwDaGOkzk_uVugDsQzgqDCd_Djs","level":"info","message":"auth send jwt","requestID":"4e370eaca43b795347424d87186807d1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4e370eaca43b795347424d87186807d1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a","requestID":"4e370eaca43b795347424d87186807d1"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.673797,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"4e370eaca43b795347424d87186807d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849840,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MH0.JTFBQ7kN-C_hT7FwNwDaGOkzk_uVugDsQzgqDCd_Djs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4e370eaca43b795347424d87186807d1","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Attempting to finish experiment","requestID":"4e370eaca43b795347424d87186807d1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7f264410-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.586845,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7f264410-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849840,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MH0.JTFBQ7kN-C_hT7FwNwDaGOkzk_uVugDsQzgqDCd_Djs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7f264410-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba","device":"1f8fb10f-6281-4229-8b69-37cd9f5a3635","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba","device":"9f59872c-8f99-41d1-a3a1-c851df1ce178","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/db534940-c07c-490b-9fcb-b15c5c2d7cba' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db534940-c07c-490b-9fcb-b15c5c2d7cba","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb534940-c07c-490b-9fcb-b15c5c2d7cba': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb534940-c07c-490b-9fcb-b15c5c2d7cba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"5de10746-fbe6-47b0-b42b-aafd1f9d5ee7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.3498392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68f96aa0-5462-4e53-b745-4fb33f2ca800","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.3500488} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0368c16001893484c9cf18596926d5a2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"0368c16001893484c9cf18596926d5a2","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bb0a0f2ae1b92018e557da344f7caf5f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178"},{"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/1f8fb10f-6281-4229-8b69-37cd9f5a3635"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba"}}},"level":"info","message":"received a callback","requestID":"0368c16001893484c9cf18596926d5a2"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bb0a0f2ae1b92018e557da344f7caf5f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"7f264410-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} 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/9f59872c-8f99-41d1-a3a1-c851df1ce178"},{"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/1f8fb10f-6281-4229-8b69-37cd9f5a3635"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba"}}},"level":"info","message":"received a callback","requestID":"bb0a0f2ae1b92018e557da344f7caf5f"} device-1 | {"data":{"peerconnection":"db534940-c07c-490b-9fcb-b15c5c2d7cba","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7f264410-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba 204 52ms","method":"DELETE","requestID":"7f264410-243b-11f0-b067-2fe344ae06f8","responseTime":52,"status":204,"url":"/peerconnections/db534940-c07c-490b-9fcb-b15c5c2d7cba"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"},"level":"info","message":"Successfully finished experiment","requestID":"4e370eaca43b795347424d87186807d1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f305630-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f59872c-8f99-41d1-a3a1-c851df1ce178","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04f832a9-a08e-4bed-9cce-ec25519afd83","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.4084299} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.884386,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7f305630-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178","object_type":"device","rebac_allow":false,"scope_allow":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":"7f305630-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f305630-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee6c10b4-88fa-455e-86c2-16e4621a834a': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee6c10b4-88fa-455e-86c2-16e4621a834a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"9e48f79a-0024-4b48-ad61-a7a4e88ff6fe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.4358423} device-1 | {"level":"info","message":"POST /devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling 200 33ms","method":"POST","requestID":"7f305630-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4f9a8f4-cdcf-419c-ae39-16003c11af7b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.4363983} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"4e370eaca43b795347424d87186807d1","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f35d470-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f8fb10f-6281-4229-8b69-37cd9f5a3635","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"607aa0dc-e9a7-4e46-8b9f-1363de46fe51","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.4435558} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.454742,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7f35d470-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635","object_type":"device","rebac_allow":false,"scope_allow":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":"7f35d470-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f35d470-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling 200 8ms","method":"POST","requestID":"7f35d470-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/1f8fb10f-6281-4229-8b69-37cd9f5a3635/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a","requestID":"4e370eaca43b795347424d87186807d1"} gateway-1 | {"time_local":"28/Apr/2025:14:17:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e370eaca43b795347424d87186807d1"} experiment-1 | {"level":"info","message":"DELETE /experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a 204 234ms","method":"DELETE","requestID":"4e370eaca43b795347424d87186807d1","responseTime":234,"status":204,"url":"/experiments/ee6c10b4-88fa-455e-86c2-16e4621a834a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"0368c16001893484c9cf18596926d5a2","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"0368c16001893484c9cf18596926d5a2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"bb0a0f2ae1b92018e557da344f7caf5f","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb0a0f2ae1b92018e557da344f7caf5f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MH0.JTFBQ7kN-C_hT7FwNwDaGOkzk_uVugDsQzgqDCd_Djs","level":"info","message":"auth send jwt","requestID":"91e16208a79a1d097064afc90b96476b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"91e16208a79a1d097064afc90b96476b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"91e16208a79a1d097064afc90b96476b"} gateway-1 | {"time_local":"28/Apr/2025:14:17:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"0.872","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":"7ab5b9c104d749e6d8b87dde41f66add"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.730958,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"91e16208a79a1d097064afc90b96476b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849840,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MH0.JTFBQ7kN-C_hT7FwNwDaGOkzk_uVugDsQzgqDCd_Djs"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"91e16208a79a1d097064afc90b96476b","responseTime":7,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:14:17:20 +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.920","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":"1aa443a5c02f46efd0ba42776b562d75"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9f59872c-8f99-41d1-a3a1-c851df1ce178' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9809b832-63f7-4207-8ee0-5d2900dc3ce5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.5896652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"91e16208a79a1d097064afc90b96476b","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc595046-99bb-4d29-a0a1-5dcb6ecdc047","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.593784} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"91e16208a79a1d097064afc90b96476b","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/1f8fb10f-6281-4229-8b69-37cd9f5a3635' closed"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"3d0b4329-924f-43ba-8981-fe6e89a5b0dd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.626466} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8f59c42-e269-4ada-a9e3-51282f952682","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.6267786} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"91e16208a79a1d097064afc90b96476b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.626437420Z"}]},"request_id":"65c7f25a-2dbe-4a2a-ab63-1fe9c6fdc94f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.6305318} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"91e16208a79a1d097064afc90b96476b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"91e16208a79a1d097064afc90b96476b"} gateway-1 | {"time_local":"28/Apr/2025:14:17:20 +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":"91e16208a79a1d097064afc90b96476b"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"91e16208a79a1d097064afc90b96476b","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MH0.JTFBQ7kN-C_hT7FwNwDaGOkzk_uVugDsQzgqDCd_Djs","level":"info","message":"auth send jwt","requestID":"31c6c7d06d4950ed39d624305e122846"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"31c6c7d06d4950ed39d624305e122846","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"31c6c7d06d4950ed39d624305e122846"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.674224,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"31c6c7d06d4950ed39d624305e122846","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849840,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MH0.JTFBQ7kN-C_hT7FwNwDaGOkzk_uVugDsQzgqDCd_Djs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"31c6c7d06d4950ed39d624305e122846","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b58cff7d-f9ec-448a-afa5-3150da9fea4e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.651173} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"31c6c7d06d4950ed39d624305e122846","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87441bd8-3599-4eed-86df-613ca09e6017","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.6748555} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"31c6c7d06d4950ed39d624305e122846","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"2917a1ff-df04-4e97-882c-16f0c8889c48","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.683345} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77103053-86e7-49cd-9c57-c0cd306951c5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.6834629} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"31c6c7d06d4950ed39d624305e122846","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.683317268Z"}]},"request_id":"b69128a7-2a8a-40ba-999e-e476f3461f59","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849840.686465} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"31c6c7d06d4950ed39d624305e122846","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"31c6c7d06d4950ed39d624305e122846"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"31c6c7d06d4950ed39d624305e122846"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"31c6c7d06d4950ed39d624305e122846","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MX0.SgsMHKeL1cSYFVSeYPCzMnAcgcgb5pWvxn7mE90yDTc","level":"info","message":"auth send jwt","requestID":"31058b6a11a0e975b4fc66c15a291854"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"31058b6a11a0e975b4fc66c15a291854","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"31058b6a11a0e975b4fc66c15a291854"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:21Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76612,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"31058b6a11a0e975b4fc66c15a291854","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849841,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MX0.SgsMHKeL1cSYFVSeYPCzMnAcgcgb5pWvxn7mE90yDTc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"31058b6a11a0e975b4fc66c15a291854","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.683317268Z"}]},"request_id":"959e3cae-8c58-412d-be2e-a0a9349e7e0b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849841.5646071} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","method":"POST","requestID":"31058b6a11a0e975b4fc66c15a291854","responseTime":22,"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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5bf4b454-de53-433c-8388-d8d2294d5ed7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849841.5885623} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"31058b6a11a0e975b4fc66c15a291854","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.683317268Z"}]},"request_id":"bb6ae933-745d-4cb1-87ed-c5e5cc038179","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849841.598307} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"31058b6a11a0e975b4fc66c15a291854","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"31058b6a11a0e975b4fc66c15a291854"} device-1 | {"level":"info","message":"PATCH /devices/091d797b-f239-41d5-8d9f-d28439f80b65 200 43ms","method":"PATCH","requestID":"31058b6a11a0e975b4fc66c15a291854","responseTime":43,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65"} gateway-1 | {"time_local":"28/Apr/2025:14:17:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/091d797b-f239-41d5-8d9f-d28439f80b65 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"31058b6a11a0e975b4fc66c15a291854"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MX0.SgsMHKeL1cSYFVSeYPCzMnAcgcgb5pWvxn7mE90yDTc","level":"info","message":"auth send jwt","requestID":"0c711dfeb67c63a8a515c6f6863406c6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c711dfeb67c63a8a515c6f6863406c6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0c711dfeb67c63a8a515c6f6863406c6"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:21Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720548,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0c711dfeb67c63a8a515c6f6863406c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849841,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0MX0.SgsMHKeL1cSYFVSeYPCzMnAcgcgb5pWvxn7mE90yDTc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0c711dfeb67c63a8a515c6f6863406c6","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0c711dfeb67c63a8a515c6f6863406c6"} device-1 | {"level":"info","message":"POST /devices/091d797b-f239-41d5-8d9f-d28439f80b65/websocket 200 40ms","method":"POST","requestID":"0c711dfeb67c63a8a515c6f6863406c6","responseTime":40,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/091d797b-f239-41d5-8d9f-d28439f80b65/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.18","requestID":"0c711dfeb67c63a8a515c6f6863406c6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"28c420f77a57c07753714a0dd799718c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"28c420f77a57c07753714a0dd799718c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/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":"28c420f77a57c07753714a0dd799718c"} device-1 | {"level":"info","message":"OPTIONS /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/websocket 200 1ms","method":"OPTIONS","requestID":"28c420f77a57c07753714a0dd799718c","responseTime":1,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g","level":"info","message":"auth send jwt","requestID":"63eec2e11154dea07ab57b1d132424f4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"63eec2e11154dea07ab57b1d132424f4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"63eec2e11154dea07ab57b1d132424f4"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.272414,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"63eec2e11154dea07ab57b1d132424f4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"63eec2e11154dea07ab57b1d132424f4","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"63eec2e11154dea07ab57b1d132424f4"} gateway-1 | {"time_local":"28/Apr/2025:14:17:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/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":"63eec2e11154dea07ab57b1d132424f4"} device-1 | {"level":"info","message":"POST /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/websocket 200 20ms","method":"POST","requestID":"63eec2e11154dea07ab57b1d132424f4","responseTime":20,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g","level":"info","message":"auth send jwt","requestID":"13124ec58731502d121f0bf26ee1038e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"13124ec58731502d121f0bf26ee1038e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"13124ec58731502d121f0bf26ee1038e"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698925,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"13124ec58731502d121f0bf26ee1038e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"13124ec58731502d121f0bf26ee1038e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.626437420Z"}]},"request_id":"942d4e31-7ccc-409d-94e2-93af359f5450","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.0730727} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"13124ec58731502d121f0bf26ee1038e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"13124ec58731502d121f0bf26ee1038e"} device-1 | {"level":"info","message":"GET /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c? 200 9ms","method":"GET","requestID":"13124ec58731502d121f0bf26ee1038e","responseTime":9,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c? 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":"13124ec58731502d121f0bf26ee1038e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g","level":"info","message":"auth send jwt","requestID":"918d0113b7a3ce2ffa10e3b524408a90"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"918d0113b7a3ce2ffa10e3b524408a90","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"918d0113b7a3ce2ffa10e3b524408a90"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668007,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"918d0113b7a3ce2ffa10e3b524408a90","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"918d0113b7a3ce2ffa10e3b524408a90","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.683317268Z"}]},"request_id":"abbb46db-867e-4a0a-827d-7b75d86813b3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.0861838} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"918d0113b7a3ce2ffa10e3b524408a90","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"918d0113b7a3ce2ffa10e3b524408a90"} device-1 | {"level":"info","message":"GET /devices/091d797b-f239-41d5-8d9f-d28439f80b65? 200 9ms","method":"GET","requestID":"918d0113b7a3ce2ffa10e3b524408a90","responseTime":9,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/091d797b-f239-41d5-8d9f-d28439f80b65? 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":"918d0113b7a3ce2ffa10e3b524408a90"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g","level":"info","message":"auth send jwt","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.711975,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Attempting to run experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Attempting to book experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Successfully booked experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80ce9ce0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80cec3f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905939,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80ce9ce0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"80ce9ce0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643957,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80cec3f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"80cec3f0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.626437420Z"}]},"request_id":"51b2da09-5494-4a5f-a8f5-d574d06375aa","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.125772} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"80ce9ce0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.683317268Z"}]},"request_id":"0795b784-f191-4e9d-8f17-a8117df20d60","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.1267521} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"80cec3f0-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80cec3f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/091d797b-f239-41d5-8d9f-d28439f80b65? 200 14ms","method":"GET","requestID":"80cec3f0-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80ce9ce0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c? 200 15ms","method":"GET","requestID":"80ce9ce0-243b-11f0-b067-2fe344ae06f8","responseTime":15,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Setting up experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Successfully set up experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80de0630-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80de2d40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80de5450-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.170731,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Successfully running experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80de0630-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"80de0630-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139899,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80de2d40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"80de2d40-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66a3e26d-1ab1-4931-878e-bbe9ba8642f0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.2268333} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.683317268Z"}]},"request_id":"4a8ccbf5-2a3b-4788-81b1-87ccf66126b2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.2284405} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.454176,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80de5450-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","rebac_allow":false,"scope_allow":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":"80de5450-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"80de2d40-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.626437420Z"}]},"request_id":"6e5ce150-4b07-4008-be8a-ef884d17261c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.2294888} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"80de0630-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80de2d40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/091d797b-f239-41d5-8d9f-d28439f80b65? 200 14ms","method":"GET","requestID":"80de2d40-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80de5450-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling 200 14ms","method":"POST","requestID":"80de5450-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80de0630-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c? 200 16ms","method":"GET","requestID":"80de0630-243b-11f0-b067-2fe344ae06f8","responseTime":16,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80e0c550-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80e11370-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffc353492-4551-4d00-afbe-36d9d5959c06#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffc353492-4551-4d00-afbe-36d9d5959c06","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"1ca1e4fe-8bbc-42c1-938d-9cbacd0910fc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.238518} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ab3388a-4388-43be-b3c8-e45c62e15b58","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.2386491} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8c3207d-f78f-42b6-a189-dde1a319c8b8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.2661395} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.132761,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80e0c550-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","rebac_allow":false,"scope_allow":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":"80e0c550-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d145ac80-9125-42c4-b800-1f3db36377ab","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.2703342} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80e0c550-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.427271,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} device-1 | {"level":"info","message":"POST /devices/091d797b-f239-41d5-8d9f-d28439f80b65/signaling 200 35ms","method":"POST","requestID":"80e0c550-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80e11370-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","rebac_allow":false,"scope_allow":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":"80e11370-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80e11370-243b-11f0-b067-2fe344ae06f8"} gateway-1 | {"time_local":"28/Apr/2025:14:17:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 182ms","method":"POST","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0","responseTime":182,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling 200 37ms","method":"POST","requestID":"80e11370-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80e706e0-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g","level":"info","message":"auth send jwt","requestID":"5ec555dd3ba3b2fda6030a5fbfd335fe"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ec555dd3ba3b2fda6030a5fbfd335fe","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ec555dd3ba3b2fda6030a5fbfd335fe"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7abab028-d12a-499a-87ae-ec99091866bb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.282617} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:50556","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.65674,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80e706e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","rebac_allow":false,"scope_allow":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":"80e706e0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807441,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5ec555dd3ba3b2fda6030a5fbfd335fe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5ec555dd3ba3b2fda6030a5fbfd335fe","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80e706e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/091d797b-f239-41d5-8d9f-d28439f80b65/signaling 200 9ms","method":"POST","requestID":"80e706e0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65/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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.626437420Z"}]},"request_id":"96e6da44-786c-46b4-bd7d-d2c183b6a415","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.2880456} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Building connection plan","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} 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":"c69f9c9d-d8a4-45ec-8ac2-3dfdcd5ccbf1"},{"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":"c5a3517c-3f9a-4450-90c7-4b4afe1cf4b3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"75bbe348-445d-4011-8e56-3a1c9f7b8bc3"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"5ec555dd3ba3b2fda6030a5fbfd335fe","responseTime":27,"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/091d797b-f239-41d5-8d9f-d28439f80b65"},{"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/d6180f96-a821-4ee2-9f4d-1374f6c82f3c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ec555dd3ba3b2fda6030a5fbfd335fe"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} gateway-1 | {"time_local":"28/Apr/2025:14:17:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c? 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":"5ec555dd3ba3b2fda6030a5fbfd335fe"} device-1 | {"level":"info","message":"GET /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c? 200 37ms","method":"GET","requestID":"5ec555dd3ba3b2fda6030a5fbfd335fe","responseTime":37,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c?"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.748244,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g","level":"info","message":"auth send jwt","requestID":"f6d6325849bbf30361160e98b4de0967"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f6d6325849bbf30361160e98b4de0967","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f6d6325849bbf30361160e98b4de0967"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.435321,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"f6d6325849bbf30361160e98b4de0967","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849843,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0M30.M_LZX8FUUDCplwPDI3xe5m99ED7RCs50kaqobe0sO5g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f6d6325849bbf30361160e98b4de0967","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"6c45f53c-1323-4881-8a98-dfabad9c812a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.3269522} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6f173cc-dfe4-4220-bfdf-85bfd8feb708","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.3272724} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:20.683317268Z"}]},"request_id":"fcf163c2-553b-4c8e-9144-4969f779e479","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.3307338} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f6d6325849bbf30361160e98b4de0967","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2'","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f6d6325849bbf30361160e98b4de0967"} gateway-1 | {"time_local":"28/Apr/2025:14:17:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/091d797b-f239-41d5-8d9f-d28439f80b65? 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":"f6d6325849bbf30361160e98b4de0967"} device-1 | {"level":"info","message":"GET /devices/091d797b-f239-41d5-8d9f-d28439f80b65? 200 42ms","method":"GET","requestID":"f6d6325849bbf30361160e98b4de0967","responseTime":42,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2'","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"80ecac30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","device":"d6180f96-a821-4ee2-9f4d-1374f6c82f3c","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/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9a4e72be855da7d47b6f3e1cd0a6f4c0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80fbee70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d21abd73-939d-4e6f-af8c-5aada7477b65","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.419228} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.442022,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80fbee70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","rebac_allow":false,"scope_allow":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":"80fbee70-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80fbee70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling 200 7ms","method":"POST","requestID":"80fbee70-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80fd4e00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72418b90-baf5-4dc3-bc89-94934108de42","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849843.428038} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.135921,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80fd4e00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","rebac_allow":false,"scope_allow":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":"80fd4e00-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80fd4e00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/091d797b-f239-41d5-8d9f-d28439f80b65/signaling 200 7ms","method":"POST","requestID":"80fd4e00-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65/signaling"} device-1 | {"device":"d6180f96-a821-4ee2-9f4d-1374f6c82f3c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d6180f96-a821-4ee2-9f4d-1374f6c82f3c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4552882423212419729 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:AdsW\r\na=ice-pwd:DClLfYhnGP608PMrkFRYAGAu\r\na=ice-options:trickle\r\na=fingerprint:sha-256 57:0D:3E:E5:24:93:75:C8:77:EF:10:C5:5B:DB:DA:BE:1D:50:40:42:F8:DD:A7:B8:BA:F5:27:3F:DF:35:8B:81\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"d6180f96-a821-4ee2-9f4d-1374f6c82f3c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"d6180f96-a821-4ee2-9f4d-1374f6c82f3c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d8ac44028d334af8f3b454f251f315f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d8ac44028d334af8f3b454f251f315f2","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/091d797b-f239-41d5-8d9f-d28439f80b65"},{"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/d6180f96-a821-4ee2-9f4d-1374f6c82f3c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2"}}},"level":"info","message":"received a callback","requestID":"d8ac44028d334af8f3b454f251f315f2"} device-1 | {"content":{"candidate":"candidate:1809256355 1 udp 2113937151 b6520fe3-e69c-48b6-89c5-edaf810f9168.local 54101 typ host generation 0 ufrag AdsW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d6180f96-a821-4ee2-9f4d-1374f6c82f3c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} gateway-1 | {"time_local":"28/Apr/2025:14:17:25 +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":"d8ac44028d334af8f3b454f251f315f2"} device-1 | {"device":"d6180f96-a821-4ee2-9f4d-1374f6c82f3c","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":"d8ac44028d334af8f3b454f251f315f2","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d6180f96-a821-4ee2-9f4d-1374f6c82f3c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","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/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2f945b6453475336b302c13690a5e033","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"2f945b6453475336b302c13690a5e033","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/091d797b-f239-41d5-8d9f-d28439f80b65"},{"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/d6180f96-a821-4ee2-9f4d-1374f6c82f3c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2"}}},"level":"info","message":"received a callback","requestID":"2f945b6453475336b302c13690a5e033"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"82309de0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc5ef593a-4db2-4e35-b8ce-c125eb8cffc2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e2b4553-9b2e-4f02-a014-182b1c0cb054","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.4426525} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.343646,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"82309de0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","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":"82309de0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"82309de0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2 200 9ms","method":"GET","requestID":"82309de0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"2f945b6453475336b302c13690a5e033","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:25 +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":"2f945b6453475336b302c13690a5e033"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82349580-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"338ccc6c-d153-41cf-b009-13bf1b5fdcd2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.4685023} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.138058,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"82349580-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","rebac_allow":false,"scope_allow":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":"82349580-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82349580-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/091d797b-f239-41d5-8d9f-d28439f80b65/signaling 200 7ms","method":"POST","requestID":"82349580-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82364330-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69512431-3343-4764-953f-93fb403eaaf2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.4798682} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.477456,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"82364330-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","rebac_allow":false,"scope_allow":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":"82364330-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82364330-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling 200 10ms","method":"POST","requestID":"82364330-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0NX0.Tg_4kpmaQSJyU-Bg8lThn96e1iSrNN7Vk4h5FGm5YvQ","level":"info","message":"auth send jwt","requestID":"605a677758fb4a3c39b3083c91abc510"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"605a677758fb4a3c39b3083c91abc510","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fc353492-4551-4d00-afbe-36d9d5959c06","requestID":"605a677758fb4a3c39b3083c91abc510"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.656489,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"605a677758fb4a3c39b3083c91abc510","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849845,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0NX0.Tg_4kpmaQSJyU-Bg8lThn96e1iSrNN7Vk4h5FGm5YvQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"605a677758fb4a3c39b3083c91abc510","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fc353492-4551-4d00-afbe-36d9d5959c06","requestID":"605a677758fb4a3c39b3083c91abc510"} experiment-1 | {"level":"info","message":"GET /experiments/fc353492-4551-4d00-afbe-36d9d5959c06 200 12ms","method":"GET","requestID":"605a677758fb4a3c39b3083c91abc510","responseTime":12,"status":200,"url":"/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"} gateway-1 | {"time_local":"28/Apr/2025:14:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fc353492-4551-4d00-afbe-36d9d5959c06 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"605a677758fb4a3c39b3083c91abc510"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0NX0.Tg_4kpmaQSJyU-Bg8lThn96e1iSrNN7Vk4h5FGm5YvQ","level":"info","message":"auth send jwt","requestID":"116d53e2425211cf5877c93466e2c741"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"116d53e2425211cf5877c93466e2c741","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fc353492-4551-4d00-afbe-36d9d5959c06","requestID":"116d53e2425211cf5877c93466e2c741"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":21.042412,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"116d53e2425211cf5877c93466e2c741","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849845,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0NX0.Tg_4kpmaQSJyU-Bg8lThn96e1iSrNN7Vk4h5FGm5YvQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"116d53e2425211cf5877c93466e2c741","responseTime":26,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Attempting to finish experiment","requestID":"116d53e2425211cf5877c93466e2c741"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"824648c0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.643533,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"824648c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849845,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0NX0.Tg_4kpmaQSJyU-Bg8lThn96e1iSrNN7Vk4h5FGm5YvQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"824648c0-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","device":"d6180f96-a821-4ee2-9f4d-1374f6c82f3c","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"091d797b-f239-41d5-8d9f-d28439f80b65","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c5ef593a-4db2-4e35-b8ce-c125eb8cffc2","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc5ef593a-4db2-4e35-b8ce-c125eb8cffc2': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc5ef593a-4db2-4e35-b8ce-c125eb8cffc2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"38cdd5e5-8483-4849-a94e-4678f7947828","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.5922997} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bab80642-f41a-4301-8635-fe8fdad21341","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.592647} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ea2fb29c8a518149fc25ae2ad326aa2d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"ea2fb29c8a518149fc25ae2ad326aa2d","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"824648c0-243b-11f0-b067-2fe344ae06f8","responseTime":30,"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/091d797b-f239-41d5-8d9f-d28439f80b65"},{"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/d6180f96-a821-4ee2-9f4d-1374f6c82f3c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2"}}},"level":"info","message":"received a callback","requestID":"ea2fb29c8a518149fc25ae2ad326aa2d"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"78451b01ef6a30706c6f050769b6a8f3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"78451b01ef6a30706c6f050769b6a8f3","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/091d797b-f239-41d5-8d9f-d28439f80b65"},{"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/d6180f96-a821-4ee2-9f4d-1374f6c82f3c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2"}}},"level":"info","message":"received a callback","requestID":"78451b01ef6a30706c6f050769b6a8f3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"824648c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2 204 58ms","method":"DELETE","requestID":"824648c0-243b-11f0-b067-2fe344ae06f8","responseTime":58,"status":204,"url":"/peerconnections/c5ef593a-4db2-4e35-b8ce-c125eb8cffc2"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"},"level":"info","message":"Successfully finished experiment","requestID":"116d53e2425211cf5877c93466e2c741"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"825515d0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F091d797b-f239-41d5-8d9f-d28439f80b65","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64a5ac22-8555-4279-a4ab-dd7332c636c7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.6810231} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.426782,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"825515d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/091d797b-f239-41d5-8d9f-d28439f80b65","object_type":"device","rebac_allow":false,"scope_allow":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":"825515d0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"825515d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/091d797b-f239-41d5-8d9f-d28439f80b65/signaling 200 7ms","method":"POST","requestID":"825515d0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/091d797b-f239-41d5-8d9f-d28439f80b65/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82567560-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffc353492-4551-4d00-afbe-36d9d5959c06': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffc353492-4551-4d00-afbe-36d9d5959c06","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"fcfbe5b3-6ef6-4542-9ee1-800c7a596eb2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.6877258} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41a45553-8286-4cb5-a55c-fdb44c6f4fbf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.6879468} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"116d53e2425211cf5877c93466e2c741","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd6180f96-a821-4ee2-9f4d-1374f6c82f3c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6871642-bd4b-4a63-9733-7a7a6a24fca4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.6914735} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.243709,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"82567560-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c","object_type":"device","rebac_allow":false,"scope_allow":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":"82567560-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82567560-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling 200 9ms","method":"POST","requestID":"82567560-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/d6180f96-a821-4ee2-9f4d-1374f6c82f3c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fc353492-4551-4d00-afbe-36d9d5959c06","requestID":"116d53e2425211cf5877c93466e2c741"} gateway-1 | {"time_local":"28/Apr/2025:14:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fc353492-4551-4d00-afbe-36d9d5959c06 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"116d53e2425211cf5877c93466e2c741"} gateway-1 | {"time_local":"28/Apr/2025:14:17:25 +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.098","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d266b122a65a4a842058967a6a93ace3"} experiment-1 | {"level":"info","message":"DELETE /experiments/fc353492-4551-4d00-afbe-36d9d5959c06 204 199ms","method":"DELETE","requestID":"116d53e2425211cf5877c93466e2c741","responseTime":199,"status":204,"url":"/experiments/fc353492-4551-4d00-afbe-36d9d5959c06"} gateway-1 | {"time_local":"28/Apr/2025:14:17:25 +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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea2fb29c8a518149fc25ae2ad326aa2d"} gateway-1 | {"time_local":"28/Apr/2025:14:17:25 +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.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"78451b01ef6a30706c6f050769b6a8f3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"ea2fb29c8a518149fc25ae2ad326aa2d","responseTime":131,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"b619d10e648803c9fd8708267c1671dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0NX0.Tg_4kpmaQSJyU-Bg8lThn96e1iSrNN7Vk4h5FGm5YvQ","level":"info","message":"auth send jwt","requestID":"b619d10e648803c9fd8708267c1671dc"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"78451b01ef6a30706c6f050769b6a8f3","responseTime":130,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b619d10e648803c9fd8708267c1671dc","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.878509,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} gateway-1 | {"time_local":"28/Apr/2025:14:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2746","request_time":"2.703","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":"4d847169ef61144d061245ab685a4a09"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"b619d10e648803c9fd8708267c1671dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849845,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0NX0.Tg_4kpmaQSJyU-Bg8lThn96e1iSrNN7Vk4h5FGm5YvQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b619d10e648803c9fd8708267c1671dc","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/091d797b-f239-41d5-8d9f-d28439f80b65' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f5722bc7-9ba8-47b9-b5fb-b6f8eb3a2159","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.7743714} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b619d10e648803c9fd8708267c1671dc","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5cad6c41-f40f-4129-bfb9-631885934b65","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.7789445} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b619d10e648803c9fd8708267c1671dc","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/d6180f96-a821-4ee2-9f4d-1374f6c82f3c' closed"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"70950e41-8c85-421a-9970-401680a61796","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.7881331} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ee553cd-8b4c-465f-8626-60df4be496ed","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.7883172} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"b619d10e648803c9fd8708267c1671dc","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.788109737Z"}]},"request_id":"9126c33b-b4ab-4461-a3d2-5b931cfcdaf4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.7953227} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b619d10e648803c9fd8708267c1671dc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b619d10e648803c9fd8708267c1671dc"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b619d10e648803c9fd8708267c1671dc"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"b619d10e648803c9fd8708267c1671dc","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0NX0.Tg_4kpmaQSJyU-Bg8lThn96e1iSrNN7Vk4h5FGm5YvQ","level":"info","message":"auth send jwt","requestID":"30e2b3d1780b4bae70abd7bacec7fb18"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"30e2b3d1780b4bae70abd7bacec7fb18","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"30e2b3d1780b4bae70abd7bacec7fb18"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.764947,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"30e2b3d1780b4bae70abd7bacec7fb18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849845,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0NX0.Tg_4kpmaQSJyU-Bg8lThn96e1iSrNN7Vk4h5FGm5YvQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"30e2b3d1780b4bae70abd7bacec7fb18","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"25e1612e-446e-4464-a88b-c5520ef7411e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.817367} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"30e2b3d1780b4bae70abd7bacec7fb18","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cfd84d70-f9e2-4701-bb2f-5e3f15e38ef8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.8218675} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"30e2b3d1780b4bae70abd7bacec7fb18","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"dcb6dae0-55cf-411b-a095-8afc0fe0461c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.8323889} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4dacecc-541b-4b69-ba95-cf9c4839ee6a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.8325744} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"30e2b3d1780b4bae70abd7bacec7fb18","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.832366343Z"}]},"request_id":"936dbfb9-9014-4e4d-9f2b-836a2e72e0d8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849845.8601482} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"30e2b3d1780b4bae70abd7bacec7fb18","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"30e2b3d1780b4bae70abd7bacec7fb18"} gateway-1 | {"time_local":"28/Apr/2025:14:17:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30e2b3d1780b4bae70abd7bacec7fb18"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"30e2b3d1780b4bae70abd7bacec7fb18","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0Nn0.AHPR5iv3BjdIkKz8RWBjx56wsnO6rOHumB54v0gBLdY","level":"info","message":"auth send jwt","requestID":"d53ecb8de9d4e80e91043e244565d083"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d53ecb8de9d4e80e91043e244565d083","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d53ecb8de9d4e80e91043e244565d083"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683411,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"d53ecb8de9d4e80e91043e244565d083","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849846,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0Nn0.AHPR5iv3BjdIkKz8RWBjx56wsnO6rOHumB54v0gBLdY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d53ecb8de9d4e80e91043e244565d083","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.832366343Z"}]},"request_id":"80877a37-8b77-49e2-9e11-22ab06b7a97e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849846.7734108} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d53ecb8de9d4e80e91043e244565d083","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c32375c-895b-4f79-a9d7-ade422460077","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849846.7774644} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d53ecb8de9d4e80e91043e244565d083","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.832366343Z"}]},"request_id":"d437ddec-f699-4989-8825-1eb81b299ce2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849846.7872975} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d53ecb8de9d4e80e91043e244565d083","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d53ecb8de9d4e80e91043e244565d083"} device-1 | {"level":"info","message":"PATCH /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d 200 48ms","method":"PATCH","requestID":"d53ecb8de9d4e80e91043e244565d083","responseTime":48,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d"} gateway-1 | {"time_local":"28/Apr/2025:14:17:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d53ecb8de9d4e80e91043e244565d083"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0Nn0.AHPR5iv3BjdIkKz8RWBjx56wsnO6rOHumB54v0gBLdY","level":"info","message":"auth send jwt","requestID":"76e3fc83ede40da560b2c6385442803c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"76e3fc83ede40da560b2c6385442803c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"76e3fc83ede40da560b2c6385442803c"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766714,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"76e3fc83ede40da560b2c6385442803c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849846,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0Nn0.AHPR5iv3BjdIkKz8RWBjx56wsnO6rOHumB54v0gBLdY"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"76e3fc83ede40da560b2c6385442803c","responseTime":23,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"76e3fc83ede40da560b2c6385442803c"} gateway-1 | {"time_local":"28/Apr/2025:14:17:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"76e3fc83ede40da560b2c6385442803c"} device-1 | {"level":"info","message":"POST /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/websocket 200 33ms","method":"POST","requestID":"76e3fc83ede40da560b2c6385442803c","responseTime":33,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d2875c86a9e98158b2b177deb4621ba5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d2875c86a9e98158b2b177deb4621ba5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f8900707-32ea-43d9-907d-091848b7c63f/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":"d2875c86a9e98158b2b177deb4621ba5"} device-1 | {"level":"info","message":"OPTIONS /devices/f8900707-32ea-43d9-907d-091848b7c63f/websocket 200 1ms","method":"OPTIONS","requestID":"d2875c86a9e98158b2b177deb4621ba5","responseTime":1,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo","level":"info","message":"auth send jwt","requestID":"6b2f9694030e98058a5a9efdbde93b70"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b2f9694030e98058a5a9efdbde93b70","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6b2f9694030e98058a5a9efdbde93b70"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.155307,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6b2f9694030e98058a5a9efdbde93b70","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6b2f9694030e98058a5a9efdbde93b70","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6b2f9694030e98058a5a9efdbde93b70"} gateway-1 | {"time_local":"28/Apr/2025:14:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f8900707-32ea-43d9-907d-091848b7c63f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6b2f9694030e98058a5a9efdbde93b70"} device-1 | {"level":"info","message":"POST /devices/f8900707-32ea-43d9-907d-091848b7c63f/websocket 200 24ms","method":"POST","requestID":"6b2f9694030e98058a5a9efdbde93b70","responseTime":24,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo","level":"info","message":"auth send jwt","requestID":"9397167967ff395a8ddd96289715efc3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9397167967ff395a8ddd96289715efc3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9397167967ff395a8ddd96289715efc3"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638822,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9397167967ff395a8ddd96289715efc3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9397167967ff395a8ddd96289715efc3","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.788109737Z"}]},"request_id":"94db7782-7ae6-4830-bcc5-44f1667bf85e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.2591088} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9397167967ff395a8ddd96289715efc3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9397167967ff395a8ddd96289715efc3"} gateway-1 | {"time_local":"28/Apr/2025:14:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8900707-32ea-43d9-907d-091848b7c63f? 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":"9397167967ff395a8ddd96289715efc3"} device-1 | {"level":"info","message":"GET /devices/f8900707-32ea-43d9-907d-091848b7c63f? 200 9ms","method":"GET","requestID":"9397167967ff395a8ddd96289715efc3","responseTime":9,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo","level":"info","message":"auth send jwt","requestID":"a947c68747089f276254db9edaab41cd"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a947c68747089f276254db9edaab41cd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a947c68747089f276254db9edaab41cd"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646933,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a947c68747089f276254db9edaab41cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a947c68747089f276254db9edaab41cd","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.832366343Z"}]},"request_id":"a334a054-0ff1-4d45-9739-7f7266088a0e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.2751741} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a947c68747089f276254db9edaab41cd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a947c68747089f276254db9edaab41cd"} gateway-1 | {"time_local":"28/Apr/2025:14:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d? 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":"a947c68747089f276254db9edaab41cd"} device-1 | {"level":"info","message":"GET /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d? 200 8ms","method":"GET","requestID":"a947c68747089f276254db9edaab41cd","responseTime":8,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo","level":"info","message":"auth send jwt","requestID":"6819bcf379abe20c6a942954a08ab01e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6819bcf379abe20c6a942954a08ab01e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6819bcf379abe20c6a942954a08ab01e"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.678119,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6819bcf379abe20c6a942954a08ab01e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6819bcf379abe20c6a942954a08ab01e","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Attempting to run experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Attempting to book experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Successfully booked experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83e838f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83e86000-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.606502,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"83e838f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"83e838f0-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932498,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"83e86000-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"83e86000-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.788109737Z"}]},"request_id":"847e4831-c3d5-48fe-9133-8827fcd6ee7b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.325691} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"83e838f0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.832366343Z"}]},"request_id":"784fa214-c1aa-4226-8921-8e800f538ffa","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.3284826} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83e838f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"83e86000-243b-11f0-b067-2fe344ae06f8","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/f8900707-32ea-43d9-907d-091848b7c63f? 200 34ms","method":"GET","requestID":"83e838f0-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83e86000-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d? 200 35ms","method":"GET","requestID":"83e86000-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Setting up experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Successfully set up experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83f77b30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83f7a240-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83f7f060-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693844,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"83f77b30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Successfully running experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"83f77b30-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888084,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"83f7a240-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"83f7a240-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cba184b-6c78-4a15-924a-d6f0589adbe6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.4531927} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.832366343Z"}]},"request_id":"f673f7a0-fc72-4627-b8ad-4bf99136c316","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.4553251} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.532302,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"83f7f060-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","object_type":"device","rebac_allow":false,"scope_allow":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":"83f7f060-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"83f7a240-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.788109737Z"}]},"request_id":"98e063b2-15f0-4bd2-b4cf-eb488c91ade5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.4565713} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"83f77b30-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff1d1e57b-832d-491e-aae4-45b36e01587a#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff1d1e57b-832d-491e-aae4-45b36e01587a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"3b0e5c41-c3d8-4b68-a955-c784b2ec26fd","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.4618235} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5825aa52-7f2f-4201-b5dc-dd2235501277","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.4620445} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"6819bcf379abe20c6a942954a08ab01e","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83f7f060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling 200 42ms","method":"POST","requestID":"83f7f060-243b-11f0-b067-2fe344ae06f8","responseTime":43,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83f77b30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/f8900707-32ea-43d9-907d-091848b7c63f? 200 46ms","method":"GET","requestID":"83f77b30-243b-11f0-b067-2fe344ae06f8","responseTime":46,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83f7a240-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d? 200 47ms","method":"GET","requestID":"83f7a240-243b-11f0-b067-2fe344ae06f8","responseTime":47,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83fef540-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"84036210-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 206ms","method":"POST","requestID":"6819bcf379abe20c6a942954a08ab01e","responseTime":206,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.220","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6819bcf379abe20c6a942954a08ab01e"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ea7bfdd-76cf-405f-960a-a42ebbcb61cb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.498244} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.854649,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"83fef540-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","rebac_allow":false,"scope_allow":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":"83fef540-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo","level":"info","message":"auth send jwt","requestID":"0a5244bef18bba71d21dc20b555a7314"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0a5244bef18bba71d21dc20b555a7314","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04f1745b-c170-4659-9482-5fdd074e7708","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.505101} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.836522,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"84036210-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","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":"getDevicesByDeviceId called","requestID":"0a5244bef18bba71d21dc20b555a7314"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"84036210-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83fef540-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling 200 41ms","method":"POST","requestID":"83fef540-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.880418,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0a5244bef18bba71d21dc20b555a7314","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"84036210-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0a5244bef18bba71d21dc20b555a7314","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling 200 14ms","method":"POST","requestID":"84036210-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8405d310-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.788109737Z"}]},"request_id":"1d8ae476-ffaf-434b-a14d-1654dc96d734","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.5144534} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0a5244bef18bba71d21dc20b555a7314","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f72cad5-c670-4bb8-a07d-24a7ac4e9886","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.5166087} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.262374,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a5244bef18bba71d21dc20b555a7314"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8405d310-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","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":"28/Apr/2025:14:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8900707-32ea-43d9-907d-091848b7c63f? 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":"0a5244bef18bba71d21dc20b555a7314"} device-1 | {"level":"info","message":"GET /devices/f8900707-32ea-43d9-907d-091848b7c63f? 200 11ms","method":"GET","requestID":"0a5244bef18bba71d21dc20b555a7314","responseTime":11,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f?"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8405d310-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8405d310-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling 200 7ms","method":"POST","requestID":"8405d310-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Building connection plan","requestID":"6819bcf379abe20c6a942954a08ab01e"} 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":"77a06a96-f2fa-49f1-bbe9-3297381382c1"},{"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":"5b3f6aa1-0479-473e-bee1-ecc5d3a586cd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7eea52c1-c621-4a50-85b0-b2fcac7615c7"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6819bcf379abe20c6a942954a08ab01e"} 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/e3b09a71-b5f9-491f-bbbe-cefcd082731d"},{"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/f8900707-32ea-43d9-907d-091848b7c63f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6819bcf379abe20c6a942954a08ab01e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"babee2e3e94d36a541d0246900cd3d00"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"840b0330-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo","level":"info","message":"auth send jwt","requestID":"babee2e3e94d36a541d0246900cd3d00"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"babee2e3e94d36a541d0246900cd3d00","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:58242","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.957941,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"babee2e3e94d36a541d0246900cd3d00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"babee2e3e94d36a541d0246900cd3d00","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.536293,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"840b0330-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849848,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg0OH0.fcBIYZNGQfyyDaEC1pZVjrp8lE3BqDbCsFTSIjwIHBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"840b0330-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:25.832366343Z"}]},"request_id":"2a3d1cbb-d780-4b22-ac97-0acbfd29760d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.5528655} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"babee2e3e94d36a541d0246900cd3d00","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"babee2e3e94d36a541d0246900cd3d00"} gateway-1 | {"time_local":"28/Apr/2025:14:17:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"babee2e3e94d36a541d0246900cd3d00"} device-1 | {"level":"info","message":"GET /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d? 200 10ms","method":"GET","requestID":"babee2e3e94d36a541d0246900cd3d00","responseTime":10,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"bd3b1c7a-0cb0-4655-a696-13b94a01e539","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.5577705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7fd9a78f-e3bd-4d1a-9ae1-a9e19e84009c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.5580196} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"840b0330-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"840b0330-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"840b0330-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d'","requestID":"840b0330-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d'","requestID":"840b0330-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"840b0330-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 21ms","method":"POST","requestID":"840b0330-243b-11f0-b067-2fe344ae06f8","responseTime":21,"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":"840b0330-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d","device":"f8900707-32ea-43d9-907d-091848b7c63f","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/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6819bcf379abe20c6a942954a08ab01e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"841626c0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1574cb9-a287-4ba4-94f8-b03531bc07f7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.6439943} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.43704,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"841626c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","object_type":"device","rebac_allow":false,"scope_allow":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":"841626c0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"841626c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling 200 29ms","method":"POST","requestID":"841626c0-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"841abaa0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"device":"f8900707-32ea-43d9-907d-091848b7c63f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f8900707-32ea-43d9-907d-091848b7c63f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:28Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 1271452556012577729 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:+I3d\r\na=ice-pwd:38wx4xwTMurxC5q447HJhlm7\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4A:81:B3:4E:AE:20:D3:F9:0D:28:25:72:41:D5:C8:F6:BC:6E:01:3D:47:EF:37:1A:FD:84:41:78:27:D6:4F:4A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"f8900707-32ea-43d9-907d-091848b7c63f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66397bfb-483a-452d-a76f-09865d2f716f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849848.6551888} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.083823,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"841abaa0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","rebac_allow":false,"scope_allow":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":"841abaa0-243b-11f0-b067-2fe344ae06f8","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/f8900707-32ea-43d9-907d-091848b7c63f'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"841abaa0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling 200 10ms","method":"POST","requestID":"841abaa0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling"} device-1 | {"device":"f8900707-32ea-43d9-907d-091848b7c63f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"a79e5a12-6886-4650-a514-f6edc769b73d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/a79e5a12-6886-4650-a514-f6edc769b73d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a79e5a12-6886-4650-a514-f6edc769b73d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c3fd5046d52b4f3d391c657f5228ed33","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"c3fd5046d52b4f3d391c657f5228ed33","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/e3b09a71-b5f9-491f-bbbe-cefcd082731d"},{"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/f8900707-32ea-43d9-907d-091848b7c63f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d"}}},"level":"info","message":"received a callback","requestID":"c3fd5046d52b4f3d391c657f5228ed33"} device-1 | {"content":{"candidate":"candidate:3262515880 1 udp 2113937151 25623767-12db-402c-8ca8-67c909a266bc.local 42548 typ host generation 0 ufrag +I3d network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f8900707-32ea-43d9-907d-091848b7c63f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"c3fd5046d52b4f3d391c657f5228ed33","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"c3fd5046d52b4f3d391c657f5228ed33"} device-1 | {"device":"f8900707-32ea-43d9-907d-091848b7c63f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"a79e5a12-6886-4650-a514-f6edc769b73d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f8900707-32ea-43d9-907d-091848b7c63f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"a79e5a12-6886-4650-a514-f6edc769b73d","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/a79e5a12-6886-4650-a514-f6edc769b73d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a79e5a12-6886-4650-a514-f6edc769b73d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"35afcdd0bff0c60afd924571f41a6d7b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"35afcdd0bff0c60afd924571f41a6d7b","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/e3b09a71-b5f9-491f-bbbe-cefcd082731d"},{"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/f8900707-32ea-43d9-907d-091848b7c63f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d"}}},"level":"info","message":"received a callback","requestID":"35afcdd0bff0c60afd924571f41a6d7b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"854e0a80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa79e5a12-6886-4650-a514-f6edc769b73d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69017c87-cb78-4373-9a78-b7090a1f0c11","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849850.6686718} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.961769,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"854e0a80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d","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":"854e0a80-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"854e0a80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d 200 8ms","method":"GET","requestID":"854e0a80-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"35afcdd0bff0c60afd924571f41a6d7b","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"35afcdd0bff0c60afd924571f41a6d7b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"855165e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9defc44f-146d-4159-aa84-4f1309eec107","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849850.6898525} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.303469,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"855165e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","rebac_allow":false,"scope_allow":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":"855165e0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"855165e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling 200 7ms","method":"POST","requestID":"855165e0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8552c570-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56e0eb7f-e8d3-49dd-8f7d-0b1a467658e2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849850.6992111} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.340129,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8552c570-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","object_type":"device","rebac_allow":false,"scope_allow":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":"8552c570-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8552c570-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling 200 7ms","method":"POST","requestID":"8552c570-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1MH0.PtaKFqBM2w8-FHhDQzBRrR4LLwxigUJhMJSBhAETFWE","level":"info","message":"auth send jwt","requestID":"21409d44eda0842cc5b2a4dfc4882a30"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21409d44eda0842cc5b2a4dfc4882a30","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f1d1e57b-832d-491e-aae4-45b36e01587a","requestID":"21409d44eda0842cc5b2a4dfc4882a30"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.872109,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"21409d44eda0842cc5b2a4dfc4882a30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849850,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1MH0.PtaKFqBM2w8-FHhDQzBRrR4LLwxigUJhMJSBhAETFWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"21409d44eda0842cc5b2a4dfc4882a30","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f1d1e57b-832d-491e-aae4-45b36e01587a","requestID":"21409d44eda0842cc5b2a4dfc4882a30"} gateway-1 | {"time_local":"28/Apr/2025:14:17:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f1d1e57b-832d-491e-aae4-45b36e01587a HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21409d44eda0842cc5b2a4dfc4882a30"} experiment-1 | {"level":"info","message":"GET /experiments/f1d1e57b-832d-491e-aae4-45b36e01587a 200 9ms","method":"GET","requestID":"21409d44eda0842cc5b2a4dfc4882a30","responseTime":9,"status":200,"url":"/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1MH0.PtaKFqBM2w8-FHhDQzBRrR4LLwxigUJhMJSBhAETFWE","level":"info","message":"auth send jwt","requestID":"dacd3a4f713c01e5d59d216f19e75c42"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dacd3a4f713c01e5d59d216f19e75c42","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f1d1e57b-832d-491e-aae4-45b36e01587a","requestID":"dacd3a4f713c01e5d59d216f19e75c42"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.835028,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"dacd3a4f713c01e5d59d216f19e75c42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849850,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1MH0.PtaKFqBM2w8-FHhDQzBRrR4LLwxigUJhMJSBhAETFWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dacd3a4f713c01e5d59d216f19e75c42","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Attempting to finish experiment","requestID":"dacd3a4f713c01e5d59d216f19e75c42"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"85636740-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.660961,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"85636740-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849850,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1MH0.PtaKFqBM2w8-FHhDQzBRrR4LLwxigUJhMJSBhAETFWE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"85636740-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d","device":"f8900707-32ea-43d9-907d-091848b7c63f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e3b09a71-b5f9-491f-bbbe-cefcd082731d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/a79e5a12-6886-4650-a514-f6edc769b73d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a79e5a12-6886-4650-a514-f6edc769b73d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa79e5a12-6886-4650-a514-f6edc769b73d': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa79e5a12-6886-4650-a514-f6edc769b73d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"0f4f0a1e-98ad-4efc-9132-d7cbd9eb2350","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849850.8187106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dfea8f31-5465-4e03-ae3b-362f81efdd04","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849850.818993} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"940f87c785a95359b0d0097d88c0ecd1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"85636740-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"940f87c785a95359b0d0097d88c0ecd1","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":"closed","url":"http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d"},{"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/f8900707-32ea-43d9-907d-091848b7c63f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d"}}},"level":"info","message":"received a callback","requestID":"940f87c785a95359b0d0097d88c0ecd1"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d82f0da5d6fa6ab642aafc2c929df3d4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d82f0da5d6fa6ab642aafc2c929df3d4","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/e3b09a71-b5f9-491f-bbbe-cefcd082731d"},{"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/f8900707-32ea-43d9-907d-091848b7c63f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d"}}},"level":"info","message":"received a callback","requestID":"d82f0da5d6fa6ab642aafc2c929df3d4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"85636740-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d 204 49ms","method":"DELETE","requestID":"85636740-243b-11f0-b067-2fe344ae06f8","responseTime":49,"status":204,"url":"/peerconnections/a79e5a12-6886-4650-a514-f6edc769b73d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"},"level":"info","message":"Successfully finished experiment","requestID":"dacd3a4f713c01e5d59d216f19e75c42"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"856cdd20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3b09a71-b5f9-491f-bbbe-cefcd082731d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3ba092d-2bed-4798-87ec-9db16e850c0f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849850.8705723} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.264738,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"856cdd20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d","object_type":"device","rebac_allow":false,"scope_allow":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":"856cdd20-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"856cdd20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling 200 31ms","method":"POST","requestID":"856cdd20-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/devices/e3b09a71-b5f9-491f-bbbe-cefcd082731d/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff1d1e57b-832d-491e-aae4-45b36e01587a': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff1d1e57b-832d-491e-aae4-45b36e01587a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"99636a23-5eb4-4e3e-b490-4cb2aa33351c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849850.8997092} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"110a2641-5223-442a-845b-9d3dd63e6b46","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849850.899926} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"dacd3a4f713c01e5d59d216f19e75c42","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85725b60-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8900707-32ea-43d9-907d-091848b7c63f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02bb18d5-322b-47ce-8337-7a1856f6b07d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849850.9062412} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.319035,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"85725b60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8900707-32ea-43d9-907d-091848b7c63f","object_type":"device","rebac_allow":false,"scope_allow":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":"85725b60-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85725b60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling 200 8ms","method":"POST","requestID":"85725b60-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/f8900707-32ea-43d9-907d-091848b7c63f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f1d1e57b-832d-491e-aae4-45b36e01587a","requestID":"dacd3a4f713c01e5d59d216f19e75c42"} gateway-1 | {"time_local":"28/Apr/2025:14:17:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f1d1e57b-832d-491e-aae4-45b36e01587a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dacd3a4f713c01e5d59d216f19e75c42"} experiment-1 | {"level":"info","message":"DELETE /experiments/f1d1e57b-832d-491e-aae4-45b36e01587a 204 228ms","method":"DELETE","requestID":"dacd3a4f713c01e5d59d216f19e75c42","responseTime":228,"status":204,"url":"/experiments/f1d1e57b-832d-491e-aae4-45b36e01587a"} gateway-1 | {"time_local":"28/Apr/2025:14:17:30 +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.171","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e5d1e45526fa726e99675f6feb152ab3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 181ms","method":"POST","requestID":"940f87c785a95359b0d0097d88c0ecd1","responseTime":181,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.183","http_referrer":"","http_user_agent":"node-fetch","requestID":"940f87c785a95359b0d0097d88c0ecd1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 181ms","method":"POST","requestID":"d82f0da5d6fa6ab642aafc2c929df3d4","responseTime":181,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.183","http_referrer":"","http_user_agent":"node-fetch","requestID":"d82f0da5d6fa6ab642aafc2c929df3d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1MX0.tH0dr6TonnYULnFakE-aD0UmJrsYehiUctiOF_abqDU","level":"info","message":"auth send jwt","requestID":"95af1dc1acec69e297009c60053b138c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"95af1dc1acec69e297009c60053b138c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"95af1dc1acec69e297009c60053b138c"} gateway-1 | {"time_local":"28/Apr/2025:14:17:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2746","request_time":"2.773","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":"c63f0a729cee89f01018dcf53540d339"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:31Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.768008,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"95af1dc1acec69e297009c60053b138c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849851,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1MX0.tH0dr6TonnYULnFakE-aD0UmJrsYehiUctiOF_abqDU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"95af1dc1acec69e297009c60053b138c","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/e3b09a71-b5f9-491f-bbbe-cefcd082731d' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4a4c6270-73c5-4f52-be6b-40ca468094c9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.0530407} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95af1dc1acec69e297009c60053b138c","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/f8900707-32ea-43d9-907d-091848b7c63f' 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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00b06fdc-64d0-43c5-bec0-d206b3b5bb9e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.0580215} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"95af1dc1acec69e297009c60053b138c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"19a53f99-b880-492d-8ef3-0f2b47176df8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.094899} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63815744-9cbe-4de7-a8c7-302da3117c18","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.0950599} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"95af1dc1acec69e297009c60053b138c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.094875143Z"}]},"request_id":"db9ff0be-faba-4d06-ae4b-847130ec0f78","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.098805} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"95af1dc1acec69e297009c60053b138c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"95af1dc1acec69e297009c60053b138c"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95af1dc1acec69e297009c60053b138c"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"95af1dc1acec69e297009c60053b138c","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1MX0.tH0dr6TonnYULnFakE-aD0UmJrsYehiUctiOF_abqDU","level":"info","message":"auth send jwt","requestID":"2a3578a83ba14ae704b4a52f471219d8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2a3578a83ba14ae704b4a52f471219d8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2a3578a83ba14ae704b4a52f471219d8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:31Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.813795,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2a3578a83ba14ae704b4a52f471219d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849851,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1MX0.tH0dr6TonnYULnFakE-aD0UmJrsYehiUctiOF_abqDU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2a3578a83ba14ae704b4a52f471219d8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7f3ef23f-e66e-425c-b5c9-2ae32809072b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.1455686} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2a3578a83ba14ae704b4a52f471219d8","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6fa7366c-54c0-4b2a-b842-8f175bda28fb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.149693} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2a3578a83ba14ae704b4a52f471219d8","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"9df984ec-38b6-4771-88f4-db3f78bfaef6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.1580653} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"700b50fb-7d82-42bc-85fc-c85556ecd9b7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.1582227} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"2a3578a83ba14ae704b4a52f471219d8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.158038838Z"}]},"request_id":"7e4d3c2b-31f3-48f0-b6a6-3a6de036970d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849851.1646879} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"2a3578a83ba14ae704b4a52f471219d8","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2a3578a83ba14ae704b4a52f471219d8"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a3578a83ba14ae704b4a52f471219d8"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"2a3578a83ba14ae704b4a52f471219d8","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Mn0.9rFSQsPCSyj0bjss0I9AkwHy330AoQw3q5WJdrY0Bos","level":"info","message":"auth send jwt","requestID":"260a9813afc160bafe83a8e5250bbd32"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"260a9813afc160bafe83a8e5250bbd32","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"260a9813afc160bafe83a8e5250bbd32"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:32Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670058,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"260a9813afc160bafe83a8e5250bbd32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849852,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Mn0.9rFSQsPCSyj0bjss0I9AkwHy330AoQw3q5WJdrY0Bos"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"260a9813afc160bafe83a8e5250bbd32","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.094875143Z"}]},"request_id":"3efaddcf-858c-4f97-91ee-8c9eaa86c043","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849852.0667202} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"260a9813afc160bafe83a8e5250bbd32","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d04bce1b-571c-4fda-87ed-b80c600ef390","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849852.0717976} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"260a9813afc160bafe83a8e5250bbd32","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.094875143Z"}]},"request_id":"8c176d46-9cb7-4aa2-874c-2f2ff1797ec4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849852.1049156} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"260a9813afc160bafe83a8e5250bbd32","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"260a9813afc160bafe83a8e5250bbd32"} gateway-1 | {"time_local":"28/Apr/2025:14:17:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a8d10788-c023-4a61-a699-832cd533dbd8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"260a9813afc160bafe83a8e5250bbd32"} device-1 | {"level":"info","message":"PATCH /devices/a8d10788-c023-4a61-a699-832cd533dbd8 200 49ms","method":"PATCH","requestID":"260a9813afc160bafe83a8e5250bbd32","responseTime":49,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Mn0.9rFSQsPCSyj0bjss0I9AkwHy330AoQw3q5WJdrY0Bos","level":"info","message":"auth send jwt","requestID":"46158a4554263a212dbbca539e731915"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"46158a4554263a212dbbca539e731915","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"46158a4554263a212dbbca539e731915"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:32Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779281,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"46158a4554263a212dbbca539e731915","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849852,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Mn0.9rFSQsPCSyj0bjss0I9AkwHy330AoQw3q5WJdrY0Bos"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"46158a4554263a212dbbca539e731915","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"46158a4554263a212dbbca539e731915"} gateway-1 | {"time_local":"28/Apr/2025:14:17:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a8d10788-c023-4a61-a699-832cd533dbd8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"46158a4554263a212dbbca539e731915"} device-1 | {"level":"info","message":"POST /devices/a8d10788-c023-4a61-a699-832cd533dbd8/websocket 200 35ms","method":"POST","requestID":"46158a4554263a212dbbca539e731915","responseTime":35,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"69561d53396904e901c6d867a75d3709","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"69561d53396904e901c6d867a75d3709","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/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":"69561d53396904e901c6d867a75d3709"} device-1 | {"level":"info","message":"OPTIONS /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/websocket 200 1ms","method":"OPTIONS","requestID":"69561d53396904e901c6d867a75d3709","responseTime":1,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY","level":"info","message":"auth send jwt","requestID":"61d254d8a69dcbba05e9e2451db7217e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61d254d8a69dcbba05e9e2451db7217e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"61d254d8a69dcbba05e9e2451db7217e"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.413375,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61d254d8a69dcbba05e9e2451db7217e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"61d254d8a69dcbba05e9e2451db7217e","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"61d254d8a69dcbba05e9e2451db7217e"} device-1 | {"level":"info","message":"POST /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/websocket 200 19ms","method":"POST","requestID":"61d254d8a69dcbba05e9e2451db7217e","responseTime":19,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","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":"61d254d8a69dcbba05e9e2451db7217e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY","level":"info","message":"auth send jwt","requestID":"2113872e225379c4cdb1267bb139166a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2113872e225379c4cdb1267bb139166a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2113872e225379c4cdb1267bb139166a"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128357,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2113872e225379c4cdb1267bb139166a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2113872e225379c4cdb1267bb139166a","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.094875143Z"}]},"request_id":"84138164-8dec-4aa9-a47c-4f23621b7559","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.5529573} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2113872e225379c4cdb1267bb139166a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2113872e225379c4cdb1267bb139166a"} gateway-1 | {"time_local":"28/Apr/2025:14:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a8d10788-c023-4a61-a699-832cd533dbd8? 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":"2113872e225379c4cdb1267bb139166a"} device-1 | {"level":"info","message":"GET /devices/a8d10788-c023-4a61-a699-832cd533dbd8? 200 12ms","method":"GET","requestID":"2113872e225379c4cdb1267bb139166a","responseTime":12,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY","level":"info","message":"auth send jwt","requestID":"fce75b1461e2857e75cd29a90c69fd65"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fce75b1461e2857e75cd29a90c69fd65","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fce75b1461e2857e75cd29a90c69fd65"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696488,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fce75b1461e2857e75cd29a90c69fd65","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fce75b1461e2857e75cd29a90c69fd65","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.158038838Z"}]},"request_id":"1516673a-271b-4457-894d-1ca23ee60a44","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.5685887} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fce75b1461e2857e75cd29a90c69fd65","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fce75b1461e2857e75cd29a90c69fd65"} gateway-1 | {"time_local":"28/Apr/2025:14:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc? 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":"fce75b1461e2857e75cd29a90c69fd65"} device-1 | {"level":"info","message":"GET /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc? 200 9ms","method":"GET","requestID":"fce75b1461e2857e75cd29a90c69fd65","responseTime":9,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY","level":"info","message":"auth send jwt","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0b9d46f99a548defbd91eb48143e2f2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.638202,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a0b9d46f99a548defbd91eb48143e2f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a0b9d46f99a548defbd91eb48143e2f2","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Attempting to run experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Attempting to book experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Successfully booked experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"870e5820-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"870e7f30-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863258,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"870e5820-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"870e5820-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48414","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:48414","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.819946,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"870e7f30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"870e7f30-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.094875143Z"}]},"request_id":"a02d60f1-04d9-417b-a555-7080da338ca2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.6330068} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"870e5820-243b-11f0-b067-2fe344ae06f8","responseTime":27,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.158038838Z"}]},"request_id":"b26b7acf-9779-4c0a-a074-e934aca9546b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.6363347} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"870e5820-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"870e7f30-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/a8d10788-c023-4a61-a699-832cd533dbd8? 200 35ms","method":"GET","requestID":"870e5820-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"870e7f30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc? 200 36ms","method":"GET","requestID":"870e7f30-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Setting up experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Successfully set up experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8721e020-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87220730-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87222e40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48414","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:48414","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945749,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Successfully running experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.577836,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8721e020-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8721e020-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"87220730-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"87220730-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17: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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.158038838Z"}]},"request_id":"6d33383b-0a5a-46d4-be3f-6fa609e415f0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.7387075} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87220730-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.094875143Z"}]},"request_id":"82c1d9be-5d4f-4bca-9c4e-debcf9c14737","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.7394342} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8721e020-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0be271eb-581a-49ab-b33c-adb8c359e21e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.7405958} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.975068,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"87222e40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","rebac_allow":false,"scope_allow":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":"87222e40-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87220730-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcc654a30-9d3a-4938-a9b6-cdee3c22bc7e#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcc654a30-9d3a-4938-a9b6-cdee3c22bc7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"7fce8837-dd6a-4324-aaae-b233980ea804","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.7439058} device-1 | {"level":"info","message":"GET /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc? 200 13ms","method":"GET","requestID":"87220730-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8721e020-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5015be79-d4f3-40f6-9bf8-f385cef1feb8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.7442567} device-1 | {"level":"info","message":"GET /devices/a8d10788-c023-4a61-a699-832cd533dbd8? 200 15ms","method":"GET","requestID":"8721e020-243b-11f0-b067-2fe344ae06f8","responseTime":15,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"a0b9d46f99a548defbd91eb48143e2f2","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87222e40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling 200 14ms","method":"POST","requestID":"87222e40-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87247830-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8724ed60-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47908082-e7f0-4248-ba6a-33c9d416ace5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.7512307} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.037137,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"87247830-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","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/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"87247830-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:14:17:33 +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":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 201ms","method":"POST","requestID":"a0b9d46f99a548defbd91eb48143e2f2","responseTime":201,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1dcc989f-f05f-4bd8-b6e4-7f475b86181c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.7789912} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.361458,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8724ed60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","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":"87247830-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"8724ed60-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling 200 35ms","method":"POST","requestID":"87247830-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY","level":"info","message":"auth send jwt","requestID":"86b406173af378170e77d2e8932d8050"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"86b406173af378170e77d2e8932d8050","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"86b406173af378170e77d2e8932d8050"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"872a4490-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8724ed60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling 200 37ms","method":"POST","requestID":"8724ed60-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling"} authorization-1 | {"client_addr":"127.0.0.1:43704","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907601,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"86b406173af378170e77d2e8932d8050","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"86b406173af378170e77d2e8932d8050","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"26baa508-5085-4c71-b18b-97382b7bfc7a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.789627} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.578329,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"872a4490-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","object_type":"device","rebac_allow":false,"scope_allow":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":"872a4490-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.094875143Z"}]},"request_id":"159e44a1-b864-4498-afe4-e4601550a625","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.7914946} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"86b406173af378170e77d2e8932d8050","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"872a4490-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling 200 10ms","method":"POST","requestID":"872a4490-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"86b406173af378170e77d2e8932d8050"} gateway-1 | {"time_local":"28/Apr/2025:14:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a8d10788-c023-4a61-a699-832cd533dbd8? 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":"86b406173af378170e77d2e8932d8050"} device-1 | {"level":"info","message":"GET /devices/a8d10788-c023-4a61-a699-832cd533dbd8? 200 12ms","method":"GET","requestID":"86b406173af378170e77d2e8932d8050","responseTime":12,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Building connection plan","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} 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":"3d6e404c-2643-4d85-8b0d-a87706503380"},{"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":"37990fac-3372-4216-bfcb-6c4c0f136a82"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9df3ae34-77a5-45aa-8379-c48b38d6bba0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} 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/a8d10788-c023-4a61-a699-832cd533dbd8"},{"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/31700faa-dc11-4b96-8fc8-c654b601b4bc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY","level":"info","message":"auth send jwt","requestID":"5c198bd3dffe9232ea2c85713ec68644"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c198bd3dffe9232ea2c85713ec68644","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.824402,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5c198bd3dffe9232ea2c85713ec68644"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"872c4060-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68214,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"5c198bd3dffe9232ea2c85713ec68644","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849853,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1M30.kZXiX3euQyas0hlF9DAwuOINDhuYfsQqITFnCwymiAY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5c198bd3dffe9232ea2c85713ec68644","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:31.158038838Z"}]},"request_id":"c39e5268-d3ea-44e6-95a9-c92fca1c12fe","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.83114} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5c198bd3dffe9232ea2c85713ec68644","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"a4206a86-43d0-4914-b0a2-2f203d52d451","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.8320217} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65450f6a-5c3c-4189-bad4-cee9623f525f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.832243} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5c198bd3dffe9232ea2c85713ec68644"} gateway-1 | {"time_local":"28/Apr/2025:14:17:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc? 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":"5c198bd3dffe9232ea2c85713ec68644"} device-1 | {"level":"info","message":"GET /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc? 200 11ms","method":"GET","requestID":"5c198bd3dffe9232ea2c85713ec68644","responseTime":11,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672'","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672'","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 45ms","method":"POST","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8","responseTime":45,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"872c4060-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672","device":"31700faa-dc11-4b96-8fc8-c654b601b4bc","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/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a0b9d46f99a548defbd91eb48143e2f2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"873b82a0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"977cf2c9-2ab4-4181-9da4-43daf38a23f5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.922467} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":22.959748,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"873b82a0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","rebac_allow":false,"scope_allow":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":"873b82a0-243b-11f0-b067-2fe344ae06f8","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"873b82a0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling 200 29ms","method":"POST","requestID":"873b82a0-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87403d90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"device":"31700faa-dc11-4b96-8fc8-c654b601b4bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"31700faa-dc11-4b96-8fc8-c654b601b4bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c563d690-b095-4e3f-b5c0-9b640266091c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849853.9337683} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.850279,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"87403d90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","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 | {"content":{"sdp":"v=0\r\no=- 156107573824662995 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:0oeR\r\na=ice-pwd:Z8Pot2dGanPK0rVKZYIN57dR\r\na=ice-options:trickle\r\na=fingerprint:sha-256 68:6C:9F:FD:63:EC:ED:AB:0B:65:13:55:73:4E:23:4B:A6:0D:0B:1B:82:02:D6:55:62:C1:53:22:AE:86:9A:A8\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"31700faa-dc11-4b96-8fc8-c654b601b4bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"87403d90-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87403d90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling 200 10ms","method":"POST","requestID":"87403d90-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling"} device-1 | {"device":"31700faa-dc11-4b96-8fc8-c654b601b4bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"6b916a06-0853-41f6-8e5a-80c75a2c3672","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/6b916a06-0853-41f6-8e5a-80c75a2c3672' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6b916a06-0853-41f6-8e5a-80c75a2c3672","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2be5407f5c1daee033c69f5c7d540b4e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"2be5407f5c1daee033c69f5c7d540b4e","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/a8d10788-c023-4a61-a699-832cd533dbd8"},{"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/31700faa-dc11-4b96-8fc8-c654b601b4bc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672"}}},"level":"info","message":"received a callback","requestID":"2be5407f5c1daee033c69f5c7d540b4e"} device-1 | {"content":{"candidate":"candidate:2518319441 1 udp 2113937151 f78fc1c5-e001-4140-af66-2e7a31f2f65d.local 42964 typ host generation 0 ufrag 0oeR network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"31700faa-dc11-4b96-8fc8-c654b601b4bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"31700faa-dc11-4b96-8fc8-c654b601b4bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"2be5407f5c1daee033c69f5c7d540b4e","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"2be5407f5c1daee033c69f5c7d540b4e"} device-1 | {"data":{"peerconnection":"6b916a06-0853-41f6-8e5a-80c75a2c3672","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"31700faa-dc11-4b96-8fc8-c654b601b4bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"6b916a06-0853-41f6-8e5a-80c75a2c3672","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/6b916a06-0853-41f6-8e5a-80c75a2c3672' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6b916a06-0853-41f6-8e5a-80c75a2c3672","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b57942b04f6bc1b5085e183a314f79f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b57942b04f6bc1b5085e183a314f79f8","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/a8d10788-c023-4a61-a699-832cd533dbd8"},{"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/31700faa-dc11-4b96-8fc8-c654b601b4bc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672"}}},"level":"info","message":"received a callback","requestID":"b57942b04f6bc1b5085e183a314f79f8"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"887c6710-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6b916a06-0853-41f6-8e5a-80c75a2c3672","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fe39aa1-4d6d-4cdf-af32-64381282d595","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.0064015} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.91847,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"887c6710-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672","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 30ms","method":"POST","requestID":"887c6710-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"887c6710-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672 200 33ms","method":"GET","requestID":"887c6710-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"b57942b04f6bc1b5085e183a314f79f8","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.058","http_referrer":"","http_user_agent":"node-fetch","requestID":"b57942b04f6bc1b5085e183a314f79f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8883e120-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3543abad-e868-4749-8e30-07f87a407439","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.0542536} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.140923,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8883e120-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","rebac_allow":false,"scope_allow":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":"8883e120-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8883e120-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling 200 32ms","method":"POST","requestID":"8883e120-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88891140-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4313fb7e-8f4f-4399-a0a9-4be1e61cc17f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.0877967} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.309379,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"88891140-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Nn0.A9HxTh2t9pXUK3MQAh_IdOW32dkuLanghelOVTMwHio","level":"info","message":"auth send jwt","requestID":"55f6aa304be50e3ee4d82f7b60dff67a"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"88891140-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"55f6aa304be50e3ee4d82f7b60dff67a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e","requestID":"55f6aa304be50e3ee4d82f7b60dff67a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88891140-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling 200 8ms","method":"POST","requestID":"88891140-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.774227,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"55f6aa304be50e3ee4d82f7b60dff67a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849856,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Nn0.A9HxTh2t9pXUK3MQAh_IdOW32dkuLanghelOVTMwHio"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"55f6aa304be50e3ee4d82f7b60dff67a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e","requestID":"55f6aa304be50e3ee4d82f7b60dff67a"} gateway-1 | {"time_local":"28/Apr/2025:14:17:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"55f6aa304be50e3ee4d82f7b60dff67a"} experiment-1 | {"level":"info","message":"GET /experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e 200 9ms","method":"GET","requestID":"55f6aa304be50e3ee4d82f7b60dff67a","responseTime":9,"status":200,"url":"/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Nn0.A9HxTh2t9pXUK3MQAh_IdOW32dkuLanghelOVTMwHio","level":"info","message":"auth send jwt","requestID":"bff5748a216cb7751683de179df2c820"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bff5748a216cb7751683de179df2c820","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e","requestID":"bff5748a216cb7751683de179df2c820"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.282975,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bff5748a216cb7751683de179df2c820","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849856,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Nn0.A9HxTh2t9pXUK3MQAh_IdOW32dkuLanghelOVTMwHio"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bff5748a216cb7751683de179df2c820","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Attempting to finish experiment","requestID":"bff5748a216cb7751683de179df2c820"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"88914ea0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.663689,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"88914ea0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849856,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Nn0.A9HxTh2t9pXUK3MQAh_IdOW32dkuLanghelOVTMwHio"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"88914ea0-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672","device":"31700faa-dc11-4b96-8fc8-c654b601b4bc","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a8d10788-c023-4a61-a699-832cd533dbd8","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/6b916a06-0853-41f6-8e5a-80c75a2c3672' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6b916a06-0853-41f6-8e5a-80c75a2c3672","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6b916a06-0853-41f6-8e5a-80c75a2c3672': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6b916a06-0853-41f6-8e5a-80c75a2c3672","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"00dfd3d3-2a6e-481c-9895-f89202c78d0e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.1520653} 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/a8d10788-c023-4a61-a699-832cd533dbd8"},{"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/31700faa-dc11-4b96-8fc8-c654b601b4bc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672"}}},"level":"info","message":"received a callback","requestID":"2f086ef23d147bb9768ca40098f28250"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2f086ef23d147bb9768ca40098f28250","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8abb676-2574-41ca-9b36-56af6608a30a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.152266} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2f086ef23d147bb9768ca40098f28250","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"88914ea0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"17ddb0604e79d93fa7d7054450a4e58c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"17ddb0604e79d93fa7d7054450a4e58c","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8"},{"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/31700faa-dc11-4b96-8fc8-c654b601b4bc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672"}}},"level":"info","message":"received a callback","requestID":"17ddb0604e79d93fa7d7054450a4e58c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"88914ea0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672 204 55ms","method":"DELETE","requestID":"88914ea0-243b-11f0-b067-2fe344ae06f8","responseTime":55,"status":204,"url":"/peerconnections/6b916a06-0853-41f6-8e5a-80c75a2c3672"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"},"level":"info","message":"Successfully finished experiment","requestID":"bff5748a216cb7751683de179df2c820"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88a090e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8d10788-c023-4a61-a699-832cd533dbd8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"005feb7f-041c-4dbe-b7c6-c62fbd3d8e47","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.2424574} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.331791,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"88a090e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8d10788-c023-4a61-a699-832cd533dbd8","object_type":"device","rebac_allow":false,"scope_allow":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":"88a090e0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88a090e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling 200 8ms","method":"POST","requestID":"88a090e0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/a8d10788-c023-4a61-a699-832cd533dbd8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88a21780-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8278d166-adcd-448b-9746-c57e5c9ca79a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.2525907} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcc654a30-9d3a-4938-a9b6-cdee3c22bc7e': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcc654a30-9d3a-4938-a9b6-cdee3c22bc7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"8e099f7f-dea9-4e27-b2c1-24e884cccd6f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.2771728} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"bff5748a216cb7751683de179df2c820","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31700faa-dc11-4b96-8fc8-c654b601b4bc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3d76309-f63e-4629-9512-0fee0d00b0a1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.278738} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.392627,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"88a21780-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc","object_type":"device","rebac_allow":false,"scope_allow":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":"88a21780-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88a21780-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling 200 35ms","method":"POST","requestID":"88a21780-243b-11f0-b067-2fe344ae06f8","responseTime":35,"status":200,"url":"/devices/31700faa-dc11-4b96-8fc8-c654b601b4bc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e","requestID":"bff5748a216cb7751683de179df2c820"} gateway-1 | {"time_local":"28/Apr/2025:14:17:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.277","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bff5748a216cb7751683de179df2c820"} experiment-1 | {"level":"info","message":"DELETE /experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e 204 276ms","method":"DELETE","requestID":"bff5748a216cb7751683de179df2c820","responseTime":276,"status":204,"url":"/experiments/cc654a30-9d3a-4938-a9b6-cdee3c22bc7e"} gateway-1 | {"time_local":"28/Apr/2025:14:17:36 +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.233","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"70300a4edc0158b7284a65e5f4dc0231"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 228ms","method":"POST","requestID":"2f086ef23d147bb9768ca40098f28250","responseTime":228,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.230","http_referrer":"","http_user_agent":"node-fetch","requestID":"2f086ef23d147bb9768ca40098f28250"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 201ms","method":"POST","requestID":"17ddb0604e79d93fa7d7054450a4e58c","responseTime":201,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.204","http_referrer":"","http_user_agent":"node-fetch","requestID":"17ddb0604e79d93fa7d7054450a4e58c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Nn0.A9HxTh2t9pXUK3MQAh_IdOW32dkuLanghelOVTMwHio","level":"info","message":"auth send jwt","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4"} gateway-1 | {"time_local":"28/Apr/2025:14:17:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2744","request_time":"2.862","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":"bcad02a8d8a8377546818d50d2f62830"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.916418,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7f7c8c5a5e8db1a3030f31ded89671c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849856,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Nn0.A9HxTh2t9pXUK3MQAh_IdOW32dkuLanghelOVTMwHio"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4","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/a8d10788-c023-4a61-a699-832cd533dbd8' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ab0d2b07-c955-4eb1-ab16-5ae424a3e10c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.4052079} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e31662e2-088c-4b8e-a301-af48910266a0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.409361} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4","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/31700faa-dc11-4b96-8fc8-c654b601b4bc' closed"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"768b3c3a-10f5-43db-8f32-4c53546c3a65","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.4226272} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46e2cc3e-ed4e-4e30-ae73-0cbed41a04c0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.4226809} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.422595089Z"}]},"request_id":"bf25b9d9-add5-4399-bcf5-1aa5a661dd54","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.4269989} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"7f7c8c5a5e8db1a3030f31ded89671c4","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Nn0.A9HxTh2t9pXUK3MQAh_IdOW32dkuLanghelOVTMwHio","level":"info","message":"auth send jwt","requestID":"7150edda15206e4645e16432fa023def"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7150edda15206e4645e16432fa023def","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7150edda15206e4645e16432fa023def"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.686043,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7150edda15206e4645e16432fa023def","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849856,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1Nn0.A9HxTh2t9pXUK3MQAh_IdOW32dkuLanghelOVTMwHio"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7150edda15206e4645e16432fa023def","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a56cf8bf-d695-4fc0-b872-a38df7a8f1dc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.4731107} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7150edda15206e4645e16432fa023def","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"546f9db8-2c0d-4932-8fdf-836ca960b4b4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.4765236} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"7150edda15206e4645e16432fa023def","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"754c9ab9-3a3c-4d95-b36e-534f50d6c76b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.484556} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cfccef84-2b3f-44e3-b2cc-b57223caf661","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.4846575} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"7150edda15206e4645e16432fa023def","responseTime":9,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.484535892Z"}]},"request_id":"76b7bea4-00e5-480d-9eeb-012687b9d0c3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849856.4876432} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7150edda15206e4645e16432fa023def","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7150edda15206e4645e16432fa023def"} device-1 | {"level":"info","message":"POST /devices? 201 80ms","method":"POST","requestID":"7150edda15206e4645e16432fa023def","responseTime":80,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7150edda15206e4645e16432fa023def"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1N30.XFNRMR2-jH-F5V_N_ugFK1CYkv9zUdggRJpyLuzDS2I","level":"info","message":"auth send jwt","requestID":"eb3da84c38d07a19c2ce9ac88f595052"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eb3da84c38d07a19c2ce9ac88f595052","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"eb3da84c38d07a19c2ce9ac88f595052"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:37Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90278,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"eb3da84c38d07a19c2ce9ac88f595052","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849857,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1N30.XFNRMR2-jH-F5V_N_ugFK1CYkv9zUdggRJpyLuzDS2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb3da84c38d07a19c2ce9ac88f595052","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.422595089Z"}]},"request_id":"7cf69bad-62a3-4181-b354-1c3f370504eb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849857.4260132} authorization-1 | {"level":"info","message":"POST /relations/query 200 24ms","method":"POST","requestID":"eb3da84c38d07a19c2ce9ac88f595052","responseTime":24,"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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dabf6212-a888-4770-8509-0ee527212dac","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849857.4317064} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"eb3da84c38d07a19c2ce9ac88f595052","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.422595089Z"}]},"request_id":"c2d6f7d9-a5cc-4db8-88fe-26a93563e44a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849857.4429877} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eb3da84c38d07a19c2ce9ac88f595052","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"eb3da84c38d07a19c2ce9ac88f595052"} gateway-1 | {"time_local":"28/Apr/2025:14:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d1554b45-b852-4d7b-bbad-411ff089040a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"eb3da84c38d07a19c2ce9ac88f595052"} device-1 | {"level":"info","message":"PATCH /devices/d1554b45-b852-4d7b-bbad-411ff089040a 200 48ms","method":"PATCH","requestID":"eb3da84c38d07a19c2ce9ac88f595052","responseTime":48,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1N30.XFNRMR2-jH-F5V_N_ugFK1CYkv9zUdggRJpyLuzDS2I","level":"info","message":"auth send jwt","requestID":"bea5eceee5fb23c49fc24dbf18d088dd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bea5eceee5fb23c49fc24dbf18d088dd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bea5eceee5fb23c49fc24dbf18d088dd"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:37Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698288,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bea5eceee5fb23c49fc24dbf18d088dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849857,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1N30.XFNRMR2-jH-F5V_N_ugFK1CYkv9zUdggRJpyLuzDS2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bea5eceee5fb23c49fc24dbf18d088dd","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bea5eceee5fb23c49fc24dbf18d088dd"} device-1 | {"level":"info","message":"POST /devices/d1554b45-b852-4d7b-bbad-411ff089040a/websocket 200 16ms","method":"POST","requestID":"bea5eceee5fb23c49fc24dbf18d088dd","responseTime":16,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d1554b45-b852-4d7b-bbad-411ff089040a/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.18","requestID":"bea5eceee5fb23c49fc24dbf18d088dd"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"de35eb3791edce36fa1b4b272341e072","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"de35eb3791edce36fa1b4b272341e072","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/de7c802c-4847-4292-aea5-95e91f8c8f30/websocket 200 1ms","method":"OPTIONS","requestID":"de35eb3791edce36fa1b4b272341e072","responseTime":1,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/de7c802c-4847-4292-aea5-95e91f8c8f30/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":"de35eb3791edce36fa1b4b272341e072"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg","level":"info","message":"auth send jwt","requestID":"391c95f8ee465cce9e2e0d83793d9cf0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"391c95f8ee465cce9e2e0d83793d9cf0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"391c95f8ee465cce9e2e0d83793d9cf0"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64461,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"391c95f8ee465cce9e2e0d83793d9cf0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849858,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"391c95f8ee465cce9e2e0d83793d9cf0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"391c95f8ee465cce9e2e0d83793d9cf0"} gateway-1 | {"time_local":"28/Apr/2025:14:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/de7c802c-4847-4292-aea5-95e91f8c8f30/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","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":"391c95f8ee465cce9e2e0d83793d9cf0"} device-1 | {"level":"info","message":"POST /devices/de7c802c-4847-4292-aea5-95e91f8c8f30/websocket 200 16ms","method":"POST","requestID":"391c95f8ee465cce9e2e0d83793d9cf0","responseTime":16,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg","level":"info","message":"auth send jwt","requestID":"dd0fd60a9b56502c452220a5b5928008"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dd0fd60a9b56502c452220a5b5928008","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dd0fd60a9b56502c452220a5b5928008"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654924,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"dd0fd60a9b56502c452220a5b5928008","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849858,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"dd0fd60a9b56502c452220a5b5928008","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.422595089Z"}]},"request_id":"7f4cfabc-48b7-4355-a6b9-98c388aa9fca","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849858.8082612} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd0fd60a9b56502c452220a5b5928008","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dd0fd60a9b56502c452220a5b5928008"} gateway-1 | {"time_local":"28/Apr/2025:14:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1554b45-b852-4d7b-bbad-411ff089040a? 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":"dd0fd60a9b56502c452220a5b5928008"} device-1 | {"level":"info","message":"GET /devices/d1554b45-b852-4d7b-bbad-411ff089040a? 200 11ms","method":"GET","requestID":"dd0fd60a9b56502c452220a5b5928008","responseTime":11,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg","level":"info","message":"auth send jwt","requestID":"c027b2164b11203b3ee74a0a4ff7e520"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c027b2164b11203b3ee74a0a4ff7e520","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c027b2164b11203b3ee74a0a4ff7e520"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643424,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c027b2164b11203b3ee74a0a4ff7e520","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849858,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c027b2164b11203b3ee74a0a4ff7e520","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.484535892Z"}]},"request_id":"9d546222-f449-43b6-8dd0-65f5edc90bc5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849858.823163} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c027b2164b11203b3ee74a0a4ff7e520","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c027b2164b11203b3ee74a0a4ff7e520"} device-1 | {"level":"info","message":"GET /devices/de7c802c-4847-4292-aea5-95e91f8c8f30? 200 9ms","method":"GET","requestID":"c027b2164b11203b3ee74a0a4ff7e520","responseTime":9,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de7c802c-4847-4292-aea5-95e91f8c8f30? 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":"c027b2164b11203b3ee74a0a4ff7e520"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg","level":"info","message":"auth send jwt","requestID":"49971b7f78323ce0f011043831db6e1d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"49971b7f78323ce0f011043831db6e1d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"49971b7f78323ce0f011043831db6e1d"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.732936,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"49971b7f78323ce0f011043831db6e1d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849858,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"49971b7f78323ce0f011043831db6e1d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Attempting to run experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Attempting to book experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Successfully booked experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a320650-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a325470-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.606699,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a320650-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849858,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8a320650-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48440","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:48440","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.942877,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a325470-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849858,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8a325470-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.422595089Z"}]},"request_id":"220c650d-fa58-4d72-aaf8-5387dcc82787","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849858.8766632} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8a320650-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a320650-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d1554b45-b852-4d7b-bbad-411ff089040a? 200 11ms","method":"GET","requestID":"8a320650-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.484535892Z"}]},"request_id":"eeafb426-7176-435c-a387-fbab85e0f923","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849858.8796198} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8a325470-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a325470-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/de7c802c-4847-4292-aea5-95e91f8c8f30? 200 14ms","method":"GET","requestID":"8a325470-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Setting up experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Successfully locked booking for experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Attempting to update booking for experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Successfully updated booking for experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Successfully set up experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a41e4d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8a4232f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a425a00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48440","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:48440","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.946267,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:38Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Successfully running experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a41e4d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849858,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8a41e4d0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.516728,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a4232f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849858,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8a4232f0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.484535892Z"}]},"request_id":"4710f1b3-6fa4-454e-a9d6-43a73b2165e0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.008966} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"8a4232f0-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.422595089Z"}]},"request_id":"9c1ceb7e-040a-4efe-88c3-320b084e343d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.009766} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"8a41e4d0-243b-11f0-b067-2fe344ae06f8","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bde12a6c-310f-4eb0-a270-1e70a3383ea2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.0122924} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.27435,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a425a00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","rebac_allow":false,"scope_allow":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":"8a425a00-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F27390cdc-5bea-4f7a-a93e-44c8fc375812#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F27390cdc-5bea-4f7a-a93e-44c8fc375812","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"11272409-8e03-48ce-a8bf-954b4a585303","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.016485} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a4232f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/de7c802c-4847-4292-aea5-95e91f8c8f30? 200 42ms","method":"GET","requestID":"8a4232f0-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8a41e4d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d1554b45-b852-4d7b-bbad-411ff089040a? 200 44ms","method":"GET","requestID":"8a41e4d0-243b-11f0-b067-2fe344ae06f8","responseTime":44,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8258116a-e955-44f6-9a08-a0388b47cb4f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.0172184} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a425a00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling 200 43ms","method":"POST","requestID":"8a425a00-243b-11f0-b067-2fe344ae06f8","responseTime":43,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"49971b7f78323ce0f011043831db6e1d","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a4937d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a495ee0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"157ad0a1-8732-458f-b951-a3a4879a13ac","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.0251753} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.554832,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a4937d0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","rebac_allow":false,"scope_allow":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":"8a4937d0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"260a694d-3cba-41fe-ad30-32d2aaff74b4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.026886} experiment-1 | {"data":{"experiment":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"49971b7f78323ce0f011043831db6e1d"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.871706,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:39Z"} gateway-1 | {"time_local":"28/Apr/2025:14:17:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 196ms","method":"POST","requestID":"49971b7f78323ce0f011043831db6e1d","responseTime":196,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a495ee0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","rebac_allow":false,"scope_allow":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":"8a495ee0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a4937d0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling 200 10ms","method":"POST","requestID":"8a4937d0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a495ee0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling 200 10ms","method":"POST","requestID":"8a495ee0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OX0.RuaXelNm2093cd5SbZdzZCtim9xr-gFsayaqrxYlaaw","level":"info","message":"auth send jwt","requestID":"0223db21a6de102d2c38dfce229f8334"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"0223db21a6de102d2c38dfce229f8334","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a4eb610-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0223db21a6de102d2c38dfce229f8334"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627108,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0223db21a6de102d2c38dfce229f8334","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849859,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OX0.RuaXelNm2093cd5SbZdzZCtim9xr-gFsayaqrxYlaaw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0223db21a6de102d2c38dfce229f8334","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04d3b260-a422-42f4-97c6-05655b3d627f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.0616033} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.266101,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a4eb610-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","rebac_allow":false,"scope_allow":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":"8a4eb610-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.422595089Z"}]},"request_id":"0de16d80-53c4-42d5-9be5-8a6810e0837c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.0654974} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a4eb610-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling 200 9ms","method":"POST","requestID":"8a4eb610-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0223db21a6de102d2c38dfce229f8334","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Building connection plan","requestID":"49971b7f78323ce0f011043831db6e1d"} 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":"3b0a8fc9-0733-4a33-82d5-ceb9c1b8f5ce"},{"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":"39e376d0-fc4a-46e4-9045-a43724b3cc28"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e700254e-146c-495d-8a55-67e64b060ea3"}]},"level":"info","message":"Built pairwise service configurations","requestID":"49971b7f78323ce0f011043831db6e1d"} 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/d1554b45-b852-4d7b-bbad-411ff089040a"},{"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/de7c802c-4847-4292-aea5-95e91f8c8f30"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"49971b7f78323ce0f011043831db6e1d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0223db21a6de102d2c38dfce229f8334"} gateway-1 | {"time_local":"28/Apr/2025:14:17:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d1554b45-b852-4d7b-bbad-411ff089040a? 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":"0223db21a6de102d2c38dfce229f8334"} device-1 | {"level":"info","message":"GET /devices/d1554b45-b852-4d7b-bbad-411ff089040a? 200 11ms","method":"GET","requestID":"0223db21a6de102d2c38dfce229f8334","responseTime":11,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a?"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.679727,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849858,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OH0.pWOCaho8WN8cxrZ_HmS3HSf9wjn0mPuqvQgcow_gENg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OX0.RuaXelNm2093cd5SbZdzZCtim9xr-gFsayaqrxYlaaw","level":"info","message":"auth send jwt","requestID":"fd9d200c53aa74a2817f148ba9ec49f5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fd9d200c53aa74a2817f148ba9ec49f5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fd9d200c53aa74a2817f148ba9ec49f5"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725368,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fd9d200c53aa74a2817f148ba9ec49f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849859,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg1OX0.RuaXelNm2093cd5SbZdzZCtim9xr-gFsayaqrxYlaaw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fd9d200c53aa74a2817f148ba9ec49f5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"9fb7cbb9-a34a-495e-a277-d757761227a1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.0804517} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c3d7bc8-16ec-457a-8a2a-bcc68f749988","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.1049771} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:36.484535892Z"}]},"request_id":"35785991-3e2c-4919-9490-e368ebe94caa","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.1057792} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"fd9d200c53aa74a2817f148ba9ec49f5","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fd9d200c53aa74a2817f148ba9ec49f5"} device-1 | {"level":"info","message":"GET /devices/de7c802c-4847-4292-aea5-95e91f8c8f30? 200 36ms","method":"GET","requestID":"fd9d200c53aa74a2817f148ba9ec49f5","responseTime":36,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de7c802c-4847-4292-aea5-95e91f8c8f30? 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":"fd9d200c53aa74a2817f148ba9ec49f5"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418'","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418'","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"8a5063c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418","device":"de7c802c-4847-4292-aea5-95e91f8c8f30","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/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"49971b7f78323ce0f011043831db6e1d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a5f57e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ff388fd-c740-461b-af51-7a715d7f4894","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.1702564} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.919474,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a5f57e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","rebac_allow":false,"scope_allow":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":"8a5f57e0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a5f57e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling 200 9ms","method":"POST","requestID":"8a5f57e0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a64af10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"device":"de7c802c-4847-4292-aea5-95e91f8c8f30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"de7c802c-4847-4292-aea5-95e91f8c8f30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2827a6b9-a39f-4606-b819-e33f9a8ec3f7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849859.2056248} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.725277,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8a64af10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","rebac_allow":false,"scope_allow":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":"8a64af10-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 6205200008364590252 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:SFrM\r\na=ice-pwd:V6t41zaL3QuTDxtibzSCb+Bv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 77:97:DE:6C:A2:2B:61:10:50:E6:D3:9A:30:7A:55:EB:4D:51:8F:BF:9D:3A:94:A3:B8:F8:55:29:0C:AA:DE:C5\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"de7c802c-4847-4292-aea5-95e91f8c8f30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a64af10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling 200 10ms","method":"POST","requestID":"8a64af10-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling"} device-1 | {"device":"de7c802c-4847-4292-aea5-95e91f8c8f30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"3057bcdb-f4e3-47fc-a143-fcdba6d27418","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/3057bcdb-f4e3-47fc-a143-fcdba6d27418' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3057bcdb-f4e3-47fc-a143-fcdba6d27418","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"896b1f0c6ca148b0e614705dca92e9d3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"896b1f0c6ca148b0e614705dca92e9d3","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":"connecting","url":"http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a"},{"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/de7c802c-4847-4292-aea5-95e91f8c8f30"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418"}}},"level":"info","message":"received a callback","requestID":"896b1f0c6ca148b0e614705dca92e9d3"} device-1 | {"content":{"candidate":"candidate:967552142 1 udp 2113937151 e24a4d50-fe35-4554-80a6-edefdca8fb02.local 35601 typ host generation 0 ufrag SFrM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"de7c802c-4847-4292-aea5-95e91f8c8f30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"de7c802c-4847-4292-aea5-95e91f8c8f30","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":"896b1f0c6ca148b0e614705dca92e9d3","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"896b1f0c6ca148b0e614705dca92e9d3"} device-1 | {"data":{"peerconnection":"3057bcdb-f4e3-47fc-a143-fcdba6d27418","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"de7c802c-4847-4292-aea5-95e91f8c8f30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"3057bcdb-f4e3-47fc-a143-fcdba6d27418","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/3057bcdb-f4e3-47fc-a143-fcdba6d27418' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3057bcdb-f4e3-47fc-a143-fcdba6d27418","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"36b87efd9d773f3c6ed2abbdd73b5dba","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"36b87efd9d773f3c6ed2abbdd73b5dba","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/d1554b45-b852-4d7b-bbad-411ff089040a"},{"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/de7c802c-4847-4292-aea5-95e91f8c8f30"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418"}}},"level":"info","message":"received a callback","requestID":"36b87efd9d773f3c6ed2abbdd73b5dba"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8b940750-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3057bcdb-f4e3-47fc-a143-fcdba6d27418","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdd1707e-30c6-4030-aeea-e9dc202162a5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.1946685} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.285283,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8b940750-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418","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":"8b940750-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8b940750-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418 200 9ms","method":"GET","requestID":"8b940750-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"36b87efd9d773f3c6ed2abbdd73b5dba","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"36b87efd9d773f3c6ed2abbdd73b5dba"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b97fef0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d622d0d7-2d6d-426d-a011-93bc41b16e85","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.2193136} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.242941,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8b97fef0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","rebac_allow":false,"scope_allow":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":"8b97fef0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b97fef0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling 200 8ms","method":"POST","requestID":"8b97fef0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b995e80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cfbe625-5619-444f-8e35-c4914fadda1b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.2284436} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.195606,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8b995e80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","rebac_allow":false,"scope_allow":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":"8b995e80-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b995e80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling 200 7ms","method":"POST","requestID":"8b995e80-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2MX0.rceWLH7lI4lb6uU2O4uz5SLAy5u39tPJPN5-cD9yBao","level":"info","message":"auth send jwt","requestID":"6f0b2e0680447a066f6ef95a826a3dbb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6f0b2e0680447a066f6ef95a826a3dbb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812","requestID":"6f0b2e0680447a066f6ef95a826a3dbb"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.658582,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6f0b2e0680447a066f6ef95a826a3dbb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849861,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2MX0.rceWLH7lI4lb6uU2O4uz5SLAy5u39tPJPN5-cD9yBao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6f0b2e0680447a066f6ef95a826a3dbb","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812","requestID":"6f0b2e0680447a066f6ef95a826a3dbb"} experiment-1 | {"level":"info","message":"GET /experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812 200 9ms","method":"GET","requestID":"6f0b2e0680447a066f6ef95a826a3dbb","responseTime":9,"status":200,"url":"/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"} gateway-1 | {"time_local":"28/Apr/2025:14:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f0b2e0680447a066f6ef95a826a3dbb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2MX0.rceWLH7lI4lb6uU2O4uz5SLAy5u39tPJPN5-cD9yBao","level":"info","message":"auth send jwt","requestID":"77572a595b07edba999ca6888fe456e8"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"77572a595b07edba999ca6888fe456e8","responseTime":23,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812","requestID":"77572a595b07edba999ca6888fe456e8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.788007,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"77572a595b07edba999ca6888fe456e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849861,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2MX0.rceWLH7lI4lb6uU2O4uz5SLAy5u39tPJPN5-cD9yBao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"77572a595b07edba999ca6888fe456e8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Attempting to finish experiment","requestID":"77572a595b07edba999ca6888fe456e8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8ba879b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.764044,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ba879b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849861,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2MX0.rceWLH7lI4lb6uU2O4uz5SLAy5u39tPJPN5-cD9yBao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ba879b0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418","device":"de7c802c-4847-4292-aea5-95e91f8c8f30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d1554b45-b852-4d7b-bbad-411ff089040a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/3057bcdb-f4e3-47fc-a143-fcdba6d27418' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3057bcdb-f4e3-47fc-a143-fcdba6d27418","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3057bcdb-f4e3-47fc-a143-fcdba6d27418': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3057bcdb-f4e3-47fc-a143-fcdba6d27418","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"79a11142-7147-4470-ab51-eb283bd59d91","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.363988} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5d43874-d043-4052-b81d-f3fdaa51c005","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.3641276} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"21924117c9bb7e900b37176fde2e75e5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"21924117c9bb7e900b37176fde2e75e5","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"8ba879b0-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"23bab0f547d5efd4c7bcfda633491ae8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a"},{"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/de7c802c-4847-4292-aea5-95e91f8c8f30"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418"}}},"level":"info","message":"received a callback","requestID":"21924117c9bb7e900b37176fde2e75e5"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"23bab0f547d5efd4c7bcfda633491ae8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a"},{"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/de7c802c-4847-4292-aea5-95e91f8c8f30"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418"}}},"level":"info","message":"received a callback","requestID":"23bab0f547d5efd4c7bcfda633491ae8"} device-1 | {"data":{"peerconnection":"3057bcdb-f4e3-47fc-a143-fcdba6d27418","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8ba879b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418 204 59ms","method":"DELETE","requestID":"8ba879b0-243b-11f0-b067-2fe344ae06f8","responseTime":59,"status":204,"url":"/peerconnections/3057bcdb-f4e3-47fc-a143-fcdba6d27418"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"},"level":"info","message":"Successfully finished experiment","requestID":"77572a595b07edba999ca6888fe456e8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8bb71fb0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd1554b45-b852-4d7b-bbad-411ff089040a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"823a9d23-90a2-4c8c-8f0b-c720fdf022cc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.4235184} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.324795,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8bb71fb0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d1554b45-b852-4d7b-bbad-411ff089040a","object_type":"device","rebac_allow":false,"scope_allow":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":"8bb71fb0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8bb71fb0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling 200 8ms","method":"POST","requestID":"8bb71fb0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/d1554b45-b852-4d7b-bbad-411ff089040a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8bb8a650-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F27390cdc-5bea-4f7a-a93e-44c8fc375812': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F27390cdc-5bea-4f7a-a93e-44c8fc375812","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"e834f9ba-d8fa-405b-884c-68cab80e7203","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.430157} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2387cec1-1151-41f6-b07a-a03191216b1d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.4303508} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"77572a595b07edba999ca6888fe456e8","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde7c802c-4847-4292-aea5-95e91f8c8f30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e923ce7f-f2dd-40cc-b93b-3de82eca077d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.4325023} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.402669,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8bb8a650-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de7c802c-4847-4292-aea5-95e91f8c8f30","object_type":"device","rebac_allow":false,"scope_allow":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":"8bb8a650-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8bb8a650-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling 200 31ms","method":"POST","requestID":"8bb8a650-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/devices/de7c802c-4847-4292-aea5-95e91f8c8f30/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812","requestID":"77572a595b07edba999ca6888fe456e8"} gateway-1 | {"time_local":"28/Apr/2025:14:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77572a595b07edba999ca6888fe456e8"} experiment-1 | {"level":"info","message":"DELETE /experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812 204 211ms","method":"DELETE","requestID":"77572a595b07edba999ca6888fe456e8","responseTime":211,"status":204,"url":"/experiments/27390cdc-5bea-4f7a-a93e-44c8fc375812"} gateway-1 | {"time_local":"28/Apr/2025:14:17:41 +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.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"718d63eb44e30e6929bbe0f8a96d2c39"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"21924117c9bb7e900b37176fde2e75e5","responseTime":186,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"21924117c9bb7e900b37176fde2e75e5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 186ms","method":"POST","requestID":"23bab0f547d5efd4c7bcfda633491ae8","responseTime":186,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"23bab0f547d5efd4c7bcfda633491ae8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2MX0.rceWLH7lI4lb6uU2O4uz5SLAy5u39tPJPN5-cD9yBao","level":"info","message":"auth send jwt","requestID":"6d14c6da409c39b246269e34c5f7da8c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6d14c6da409c39b246269e34c5f7da8c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"6d14c6da409c39b246269e34c5f7da8c"} gateway-1 | {"time_local":"28/Apr/2025:14:17:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2744","request_time":"2.776","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":"c1b37025be14c96a03c03c3dc87da59f"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.902234,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6d14c6da409c39b246269e34c5f7da8c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849861,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2MX0.rceWLH7lI4lb6uU2O4uz5SLAy5u39tPJPN5-cD9yBao"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6d14c6da409c39b246269e34c5f7da8c","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/d1554b45-b852-4d7b-bbad-411ff089040a' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7fa1841e-fc7a-414c-9490-be8f653c5043","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.578981} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6d14c6da409c39b246269e34c5f7da8c","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"483ad07f-0951-4d78-a6c2-e0a72dfd8f60","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.6035786} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6d14c6da409c39b246269e34c5f7da8c","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/de7c802c-4847-4292-aea5-95e91f8c8f30' closed"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"3c416514-a334-4ecb-8cb6-4c4be52128a1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.614762} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa77f93f-8b40-4f18-8bb1-c255bd73a6f8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.6148486} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"6d14c6da409c39b246269e34c5f7da8c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.614726710Z"}]},"request_id":"ed8bd2dc-8317-43eb-bd20-bf4ee260ce27","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.6188557} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6d14c6da409c39b246269e34c5f7da8c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6d14c6da409c39b246269e34c5f7da8c"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"6d14c6da409c39b246269e34c5f7da8c","responseTime":63,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:41 +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":"6d14c6da409c39b246269e34c5f7da8c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2MX0.rceWLH7lI4lb6uU2O4uz5SLAy5u39tPJPN5-cD9yBao","level":"info","message":"auth send jwt","requestID":"86b66dc5146cf7547393ca0cc241812a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"86b66dc5146cf7547393ca0cc241812a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"86b66dc5146cf7547393ca0cc241812a"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.972553,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"86b66dc5146cf7547393ca0cc241812a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849861,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2MX0.rceWLH7lI4lb6uU2O4uz5SLAy5u39tPJPN5-cD9yBao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"86b66dc5146cf7547393ca0cc241812a","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"530ba73f-c69b-49ed-ba1c-898dfca45997","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.6650827} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"86b66dc5146cf7547393ca0cc241812a","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b13690a0-8b1d-4ff7-8db7-b04b68090f4f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.6694744} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"86b66dc5146cf7547393ca0cc241812a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"f20b1a7d-0f77-4036-9af2-0ddbf22eaa11","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.7037973} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81f5f30d-ea70-4510-a8b3-16c905b33b53","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.7039208} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"86b66dc5146cf7547393ca0cc241812a","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.703763157Z"}]},"request_id":"3325c5ba-8e83-4e9f-af6a-9ad34e1ea33a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849861.7078786} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"86b66dc5146cf7547393ca0cc241812a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"86b66dc5146cf7547393ca0cc241812a"} gateway-1 | {"time_local":"28/Apr/2025:14:17:41 +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":"86b66dc5146cf7547393ca0cc241812a"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"86b66dc5146cf7547393ca0cc241812a","responseTime":60,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg","level":"info","message":"auth send jwt","requestID":"2e5267b675308ab8689a51a2474b491b"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"2e5267b675308ab8689a51a2474b491b","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg","level":"info","message":"auth send jwt","requestID":"656724e0b3ca4b6736142e199b50f88c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"656724e0b3ca4b6736142e199b50f88c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2e5267b675308ab8689a51a2474b491b"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"656724e0b3ca4b6736142e199b50f88c"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816415,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2e5267b675308ab8689a51a2474b491b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2e5267b675308ab8689a51a2474b491b","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.861983,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"656724e0b3ca4b6736142e199b50f88c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"656724e0b3ca4b6736142e199b50f88c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.703763157Z"}]},"request_id":"4bacd8fa-c582-488a-8e70-fd16d0c7a44a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.5705397} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2e5267b675308ab8689a51a2474b491b","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.614726710Z"}]},"request_id":"4a58d348-5408-4e32-a6ec-85c1bc640b93","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.5712292} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"656724e0b3ca4b6736142e199b50f88c","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef7a7e65-1fad-437f-b560-56fe31e873b3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.5748796} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2e5267b675308ab8689a51a2474b491b","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56cd8994-8ac9-43ba-8868-1973c9833a73","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.57609} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"656724e0b3ca4b6736142e199b50f88c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.614726710Z"}]},"request_id":"cc8c3a80-2584-43df-86c6-420eb5b1e5b6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.5783472} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"656724e0b3ca4b6736142e199b50f88c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"656724e0b3ca4b6736142e199b50f88c"} device-1 | {"level":"info","message":"PATCH /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe 200 16ms","method":"PATCH","requestID":"656724e0b3ca4b6736142e199b50f88c","responseTime":16,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe"} gateway-1 | {"time_local":"28/Apr/2025:14:17:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"656724e0b3ca4b6736142e199b50f88c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg","level":"info","message":"auth send jwt","requestID":"92cc41c97b8560ee231dd9614f1aaecd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"92cc41c97b8560ee231dd9614f1aaecd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"92cc41c97b8560ee231dd9614f1aaecd"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602855,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"92cc41c97b8560ee231dd9614f1aaecd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"92cc41c97b8560ee231dd9614f1aaecd","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.703763157Z"}]},"request_id":"d70451ce-d493-48db-a0f0-7e6edd1a2fd7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.6112487} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2e5267b675308ab8689a51a2474b491b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2e5267b675308ab8689a51a2474b491b"} gateway-1 | {"time_local":"28/Apr/2025:14:17:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.077","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2e5267b675308ab8689a51a2474b491b"} device-1 | {"level":"info","message":"PATCH /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c 200 51ms","method":"PATCH","requestID":"2e5267b675308ab8689a51a2474b491b","responseTime":51,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg","level":"info","message":"auth send jwt","requestID":"dd24e26d490220d8f6a5e3375f01bd11"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dd24e26d490220d8f6a5e3375f01bd11","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dd24e26d490220d8f6a5e3375f01bd11"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713544,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"dd24e26d490220d8f6a5e3375f01bd11","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"dd24e26d490220d8f6a5e3375f01bd11","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"92cc41c97b8560ee231dd9614f1aaecd"} gateway-1 | {"time_local":"28/Apr/2025:14:17:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/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.18","requestID":"92cc41c97b8560ee231dd9614f1aaecd"} device-1 | {"level":"info","message":"POST /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/websocket 200 40ms","method":"POST","requestID":"92cc41c97b8560ee231dd9614f1aaecd","responseTime":40,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dd24e26d490220d8f6a5e3375f01bd11"} device-1 | {"level":"info","message":"POST /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/websocket 200 12ms","method":"POST","requestID":"dd24e26d490220d8f6a5e3375f01bd11","responseTime":12,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/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.18","requestID":"dd24e26d490220d8f6a5e3375f01bd11"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg","level":"info","message":"auth send jwt","requestID":"77ab50a0cd2b4324fff5496d0e6bb332"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"77ab50a0cd2b4324fff5496d0e6bb332","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"77ab50a0cd2b4324fff5496d0e6bb332"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647483,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"77ab50a0cd2b4324fff5496d0e6bb332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"77ab50a0cd2b4324fff5496d0e6bb332","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.614726710Z"}]},"request_id":"deddd8de-bd97-4927-b6f4-9e0a692017ef","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.705565} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"77ab50a0cd2b4324fff5496d0e6bb332","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"77ab50a0cd2b4324fff5496d0e6bb332"} gateway-1 | {"time_local":"28/Apr/2025:14:17:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe? 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":"77ab50a0cd2b4324fff5496d0e6bb332"} device-1 | {"level":"info","message":"GET /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe? 200 33ms","method":"GET","requestID":"77ab50a0cd2b4324fff5496d0e6bb332","responseTime":33,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg","level":"info","message":"auth send jwt","requestID":"2ad2bd46f054d251d21053d7cae77b3e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2ad2bd46f054d251d21053d7cae77b3e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2ad2bd46f054d251d21053d7cae77b3e"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68003,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"2ad2bd46f054d251d21053d7cae77b3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2ad2bd46f054d251d21053d7cae77b3e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.703763157Z"}]},"request_id":"08d67acb-d45c-416b-ad73-886d707466c0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.7179954} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2ad2bd46f054d251d21053d7cae77b3e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2ad2bd46f054d251d21053d7cae77b3e"} gateway-1 | {"time_local":"28/Apr/2025:14:17:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c? 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":"2ad2bd46f054d251d21053d7cae77b3e"} device-1 | {"level":"info","message":"GET /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c? 200 9ms","method":"GET","requestID":"2ad2bd46f054d251d21053d7cae77b3e","responseTime":9,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg","level":"info","message":"auth send jwt","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ca4f2e87935ef8aba09f3cd2443417b8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.736479,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"ca4f2e87935ef8aba09f3cd2443417b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"ca4f2e87935ef8aba09f3cd2443417b8","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Attempting to run experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Attempting to book experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Successfully booked experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c8a2720-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c8a4e30-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696501,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8c8a2720-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8c8a2720-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.539067,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8c8a4e30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8c8a4e30-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.614726710Z"}]},"request_id":"c71aa6f7-b90f-4812-bce1-6ff8a72978f4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.8087287} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8c8a2720-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.703763157Z"}]},"request_id":"de17c7a6-9a6c-48e9-9cf1-ce5117b998da","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.8095005} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8c8a4e30-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c8a2720-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe? 200 11ms","method":"GET","requestID":"8c8a2720-243b-11f0-b067-2fe344ae06f8","responseTime":11,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c8a4e30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c? 200 10ms","method":"GET","requestID":"8c8a4e30-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Setting up experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Successfully set up experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c98cd20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8c98f430-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c994250-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Successfully running experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951113,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8c98cd20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8c98cd20-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791033,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8c98f430-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8c98f430-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f61bb86-f19c-4f05-8dd6-e2ed53cd0c66","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.9062986} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.794765,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8c994250-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","rebac_allow":false,"scope_allow":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":"8c994250-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.703763157Z"}]},"request_id":"3df46dfc-f601-4476-bc08-1c57917ddb85","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.9087598} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8c98f430-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.614726710Z"}]},"request_id":"dc180ee9-4e00-4f2e-b45f-09aded12ed95","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.91079} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8c98cd20-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c994250-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling 200 12ms","method":"POST","requestID":"8c994250-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c98f430-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c? 200 16ms","method":"GET","requestID":"8c98f430-243b-11f0-b067-2fe344ae06f8","responseTime":16,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"382c471f-a4ff-400e-9e1a-c6e3e3c8652e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.915938} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8c9b8c40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1ba34da-e194-4cbf-bd81-08adec3adc6a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.9162645} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8c98cd20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"ca4f2e87935ef8aba09f3cd2443417b8","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe? 200 19ms","method":"GET","requestID":"8c98cd20-243b-11f0-b067-2fe344ae06f8","responseTime":19,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe?"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8866339-5a21-4b66-be0c-93f96e63c997","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.9204803} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.125053,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ca02020-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8c9b8c40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","rebac_allow":false,"scope_allow":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":"8c9b8c40-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8c9b8c40-243b-11f0-b067-2fe344ae06f8"} gateway-1 | {"time_local":"28/Apr/2025:14:17:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 224ms","method":"POST","requestID":"ca4f2e87935ef8aba09f3cd2443417b8","responseTime":224,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling 200 34ms","method":"POST","requestID":"8c9b8c40-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce61748c-c1f8-4f98-9b69-ab828092382b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.9504917} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.710804,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ca02020-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","rebac_allow":false,"scope_allow":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":"8ca02020-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg","level":"info","message":"auth send jwt","requestID":"44ab9a4a46dad88b6823b09884b69018"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"44ab9a4a46dad88b6823b09884b69018","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ca02020-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling 200 8ms","method":"POST","requestID":"8ca02020-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"44ab9a4a46dad88b6823b09884b69018"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ca1a6c0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.610767,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"44ab9a4a46dad88b6823b09884b69018","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"44ab9a4a46dad88b6823b09884b69018","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a0bfc18-35d4-4593-bd3f-ccbaeab68399","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.9597788} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.338003,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ca1a6c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","rebac_allow":false,"scope_allow":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":"8ca1a6c0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.614726710Z"}]},"request_id":"bd32bb40-d4a3-4cd5-8eec-e7124b3a507a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849862.9615862} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"44ab9a4a46dad88b6823b09884b69018","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ca1a6c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling 200 9ms","method":"POST","requestID":"8ca1a6c0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"44ab9a4a46dad88b6823b09884b69018"} gateway-1 | {"time_local":"28/Apr/2025:14:17:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe? 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":"44ab9a4a46dad88b6823b09884b69018"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} device-1 | {"level":"info","message":"GET /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe? 200 11ms","method":"GET","requestID":"44ab9a4a46dad88b6823b09884b69018","responseTime":11,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Building connection plan","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} 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":"31adf308-8103-4e02-93c8-c0309c499128"},{"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":"cff6c687-9935-40dc-a139-80ad4f8954d3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"892271b4-cc4c-43ae-b419-56a59870b6ae"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} 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/5e18465e-c4d8-48f0-8216-5ff7621d5c8c"},{"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/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg","level":"info","message":"auth send jwt","requestID":"80035280bccf5b22b9ed4896b2d1ef3f"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"80035280bccf5b22b9ed4896b2d1ef3f","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.673409,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80035280bccf5b22b9ed4896b2d1ef3f"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92156,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"80035280bccf5b22b9ed4896b2d1ef3f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849862,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Mn0.CsOCkaUlzBmV4Ibnn3ebqJfceNO9XVt2sYSyCk8f0Lg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"80035280bccf5b22b9ed4896b2d1ef3f","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:41.703763157Z"}]},"request_id":"3783af94-59c6-49e0-8ae2-1cc3ceac1f9c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849863.0019922} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"80035280bccf5b22b9ed4896b2d1ef3f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"64a6632b-f294-4d85-bd6d-c0e1505aa95c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849863.0029724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fcfb5949-d8bf-43d7-8ed0-f4994636c18e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849863.0040135} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80035280bccf5b22b9ed4896b2d1ef3f"} device-1 | {"level":"info","message":"GET /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c? 200 11ms","method":"GET","requestID":"80035280bccf5b22b9ed4896b2d1ef3f","responseTime":11,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c? 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":"80035280bccf5b22b9ed4896b2d1ef3f"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c'","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c'","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 45ms","method":"POST","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8","responseTime":45,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"8ca37b80-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ca4f2e87935ef8aba09f3cd2443417b8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8cb22180-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:43Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e68e8b3d-9b07-4e5a-933f-d02b86950a63","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849863.09236} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.266875,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8cb22180-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","rebac_allow":false,"scope_allow":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":"8cb22180-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8cb22180-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling 200 31ms","method":"POST","requestID":"8cb22180-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8cb72a90-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:43Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"00444c63-81f0-4d58-bb6d-f96a005471c1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849863.1009362} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.241793,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8cb72a90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","rebac_allow":false,"scope_allow":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":"8cb72a90-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8cb72a90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling 200 7ms","method":"POST","requestID":"8cb72a90-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling"} device-1 | {"device":"f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"4458abca-7ee5-49bd-86c6-d5d301b5668c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"4458abca-7ee5-49bd-86c6-d5d301b5668c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/4458abca-7ee5-49bd-86c6-d5d301b5668c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4458abca-7ee5-49bd-86c6-d5d301b5668c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"de69d047dfd1203edf34b2fcba3dc638","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"de69d047dfd1203edf34b2fcba3dc638","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c"},{"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/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c"}}},"level":"info","message":"received a callback","requestID":"de69d047dfd1203edf34b2fcba3dc638"} device-1 | {"device":"f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"de69d047dfd1203edf34b2fcba3dc638","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"de69d047dfd1203edf34b2fcba3dc638"} device-1 | {"data":{"peerconnection":"4458abca-7ee5-49bd-86c6-d5d301b5668c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"4458abca-7ee5-49bd-86c6-d5d301b5668c","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/4458abca-7ee5-49bd-86c6-d5d301b5668c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4458abca-7ee5-49bd-86c6-d5d301b5668c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5922fb85537026fd8ac94f6ea3acfaa2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"5922fb85537026fd8ac94f6ea3acfaa2","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c"},{"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/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c"}}},"level":"info","message":"received a callback","requestID":"5922fb85537026fd8ac94f6ea3acfaa2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8ded87b0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4458abca-7ee5-49bd-86c6-d5d301b5668c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6547f850-4117-4307-9edc-13c5d4379a17","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.1361125} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.657382,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ded87b0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c","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":"8ded87b0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8ded87b0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c 200 9ms","method":"GET","requestID":"8ded87b0-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"5922fb85537026fd8ac94f6ea3acfaa2","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"5922fb85537026fd8ac94f6ea3acfaa2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8df17f50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bbb991a-b79e-4ad8-8704-ac587aa271f5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.1617367} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.408613,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8df17f50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","rebac_allow":false,"scope_allow":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":"8df17f50-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8df17f50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling 200 9ms","method":"POST","requestID":"8df17f50-243b-11f0-b067-2fe344ae06f8","responseTime":9,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8df32d00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a23a872-2eeb-48c4-b4b5-f42329266bb9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.1717443} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.289367,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8df32d00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","rebac_allow":false,"scope_allow":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":"8df32d00-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8df32d00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling 200 7ms","method":"POST","requestID":"8df32d00-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2NX0.gnmwxLn6n1uCV_aqaLD7kPMBbLpEwKCYjG36An1ghHM","level":"info","message":"auth send jwt","requestID":"32c0dc90d8a202dcc3e92b3a42bd0658"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"32c0dc90d8a202dcc3e92b3a42bd0658","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","requestID":"32c0dc90d8a202dcc3e92b3a42bd0658"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.723398,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"32c0dc90d8a202dcc3e92b3a42bd0658","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849865,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2NX0.gnmwxLn6n1uCV_aqaLD7kPMBbLpEwKCYjG36An1ghHM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"32c0dc90d8a202dcc3e92b3a42bd0658","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","requestID":"32c0dc90d8a202dcc3e92b3a42bd0658"} gateway-1 | {"time_local":"28/Apr/2025:14:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32c0dc90d8a202dcc3e92b3a42bd0658"} experiment-1 | {"level":"info","message":"GET /experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6 200 30ms","method":"GET","requestID":"32c0dc90d8a202dcc3e92b3a42bd0658","responseTime":30,"status":200,"url":"/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2NX0.gnmwxLn6n1uCV_aqaLD7kPMBbLpEwKCYjG36An1ghHM","level":"info","message":"auth send jwt","requestID":"7133c4294a737439259d262354a130c6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7133c4294a737439259d262354a130c6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","requestID":"7133c4294a737439259d262354a130c6"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.374243,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7133c4294a737439259d262354a130c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849865,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2NX0.gnmwxLn6n1uCV_aqaLD7kPMBbLpEwKCYjG36An1ghHM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7133c4294a737439259d262354a130c6","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Attempting to finish experiment","requestID":"7133c4294a737439259d262354a130c6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8e024830-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.859247,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8e024830-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849865,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2NX0.gnmwxLn6n1uCV_aqaLD7kPMBbLpEwKCYjG36An1ghHM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8e024830-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5e18465e-c4d8-48f0-8216-5ff7621d5c8c","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/4458abca-7ee5-49bd-86c6-d5d301b5668c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4458abca-7ee5-49bd-86c6-d5d301b5668c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"90ebc9818d39a159253f96fa0235ffb9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"90ebc9818d39a159253f96fa0235ffb9","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4458abca-7ee5-49bd-86c6-d5d301b5668c': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4458abca-7ee5-49bd-86c6-d5d301b5668c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"2c215d04-9e36-4807-99aa-71a092bf7573","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.3004951} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"30f65878667277e341c0b2d238a90b87","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/5e18465e-c4d8-48f0-8216-5ff7621d5c8c"},{"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/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c"}}},"level":"info","message":"received a callback","requestID":"90ebc9818d39a159253f96fa0235ffb9"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"30f65878667277e341c0b2d238a90b87","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae147d87-43b5-4d87-a4eb-6aa12f53f1d4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.3009372} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"8e024830-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c"},{"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/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c"}}},"level":"info","message":"received a callback","requestID":"30f65878667277e341c0b2d238a90b87"} device-1 | {"data":{"peerconnection":"4458abca-7ee5-49bd-86c6-d5d301b5668c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8e024830-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c 204 52ms","method":"DELETE","requestID":"8e024830-243b-11f0-b067-2fe344ae06f8","responseTime":52,"status":204,"url":"/peerconnections/4458abca-7ee5-49bd-86c6-d5d301b5668c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"},"level":"info","message":"Successfully finished experiment","requestID":"7133c4294a737439259d262354a130c6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e0c5a50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e18465e-c4d8-48f0-8216-5ff7621d5c8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a86525c9-55ec-4c68-998f-4b20c2c5a217","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.3378842} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755583,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8e0c5a50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c","object_type":"device","rebac_allow":false,"scope_allow":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":"8e0c5a50-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e0c5a50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling 200 10ms","method":"POST","requestID":"8e0c5a50-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/5e18465e-c4d8-48f0-8216-5ff7621d5c8c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e0e2f10-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"da56ebe3-5266-4df8-8cb9-566d91c5674d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.3473814} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5533fc38-1232-47cc-86c0-65c32541745b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.3475888} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"7133c4294a737439259d262354a130c6","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f593a690-88f4-4b1b-ae21-66eee9bea9f9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.3497746} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.216939,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8e0e2f10-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe","object_type":"device","rebac_allow":false,"scope_allow":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":"8e0e2f10-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e0e2f10-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling 200 10ms","method":"POST","requestID":"8e0e2f10-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6","requestID":"7133c4294a737439259d262354a130c6"} gateway-1 | {"time_local":"28/Apr/2025:14:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7133c4294a737439259d262354a130c6"} experiment-1 | {"level":"info","message":"DELETE /experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6 204 191ms","method":"DELETE","requestID":"7133c4294a737439259d262354a130c6","responseTime":191,"status":204,"url":"/experiments/2b627ec2-7ca9-4e52-b20d-d11db9f5d7c6"} gateway-1 | {"time_local":"28/Apr/2025:14:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.791","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2cbf6c9aa8f1f1d1bb222007329203a9"} gateway-1 | {"time_local":"28/Apr/2025:14:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.823","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"495af5588ec976d340f619dfbe6f78f5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"90ebc9818d39a159253f96fa0235ffb9","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"90ebc9818d39a159253f96fa0235ffb9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"30f65878667277e341c0b2d238a90b87","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"30f65878667277e341c0b2d238a90b87"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2NX0.gnmwxLn6n1uCV_aqaLD7kPMBbLpEwKCYjG36An1ghHM","level":"info","message":"auth send jwt","requestID":"8229298b6aa7434a80b3a33dd3d2e02d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8229298b6aa7434a80b3a33dd3d2e02d","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/f6320863-1b55-4c8e-a8ce-8c2dc2f28cbe' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"8229298b6aa7434a80b3a33dd3d2e02d"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.78059,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8229298b6aa7434a80b3a33dd3d2e02d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849865,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2NX0.gnmwxLn6n1uCV_aqaLD7kPMBbLpEwKCYjG36An1ghHM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8229298b6aa7434a80b3a33dd3d2e02d","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/5e18465e-c4d8-48f0-8216-5ff7621d5c8c' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dc88692d-72d0-4fe7-808a-4f14fdc95d6b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.4977298} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8229298b6aa7434a80b3a33dd3d2e02d","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69d764d4-f114-4948-8e0b-cd63a0692f14","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.5031872} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8229298b6aa7434a80b3a33dd3d2e02d","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"84699ea8-8ea5-4bb7-ad46-069dbebfba73","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.5156457} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"caec0dc9-bc2b-4c30-86dc-30edf80d7d50","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.5158691} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"8229298b6aa7434a80b3a33dd3d2e02d","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.515610575Z"}]},"request_id":"5f60a448-763d-4da9-a379-7c381c9a0b8b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.5202448} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8229298b6aa7434a80b3a33dd3d2e02d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8229298b6aa7434a80b3a33dd3d2e02d"} gateway-1 | {"time_local":"28/Apr/2025:14:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.073","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8229298b6aa7434a80b3a33dd3d2e02d"} device-1 | {"level":"info","message":"POST /devices? 201 66ms","method":"POST","requestID":"8229298b6aa7434a80b3a33dd3d2e02d","responseTime":66,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2NX0.gnmwxLn6n1uCV_aqaLD7kPMBbLpEwKCYjG36An1ghHM","level":"info","message":"auth send jwt","requestID":"745d86c542b5c5735faa6dbcf8b1264a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"745d86c542b5c5735faa6dbcf8b1264a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"745d86c542b5c5735faa6dbcf8b1264a"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.95529,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"745d86c542b5c5735faa6dbcf8b1264a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849865,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2NX0.gnmwxLn6n1uCV_aqaLD7kPMBbLpEwKCYjG36An1ghHM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"745d86c542b5c5735faa6dbcf8b1264a","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"63dcdce5-a064-4ca9-b0b9-7100c9420378","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.5441883} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"745d86c542b5c5735faa6dbcf8b1264a","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c23dfbe-5c9b-4b9a-b8cd-66e51bcdeb07","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.548886} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"745d86c542b5c5735faa6dbcf8b1264a","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"df271081-37b2-45ce-a804-99376ab73877","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.559103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2054907f-8173-437f-a25d-38e765c7b6c3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.559164} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"745d86c542b5c5735faa6dbcf8b1264a","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.559067313Z"}]},"request_id":"6a3282d0-de1f-4403-b6c5-03c9c290b838","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849865.5759368} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"745d86c542b5c5735faa6dbcf8b1264a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"745d86c542b5c5735faa6dbcf8b1264a"} gateway-1 | {"time_local":"28/Apr/2025:14:17:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"745d86c542b5c5735faa6dbcf8b1264a"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"745d86c542b5c5735faa6dbcf8b1264a","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY","level":"info","message":"auth send jwt","requestID":"9c14f22ce2a7175d782c413330eff2b7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9c14f22ce2a7175d782c413330eff2b7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9c14f22ce2a7175d782c413330eff2b7"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917319,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9c14f22ce2a7175d782c413330eff2b7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9c14f22ce2a7175d782c413330eff2b7","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY","level":"info","message":"auth send jwt","requestID":"8c00b321099ef3dc8ff75f29ec528a84"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8c00b321099ef3dc8ff75f29ec528a84","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8c00b321099ef3dc8ff75f29ec528a84"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.559067313Z"}]},"request_id":"8a7ea38b-9428-458d-99f6-c450d3b23ef9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.416656} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9c14f22ce2a7175d782c413330eff2b7","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663489,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8c00b321099ef3dc8ff75f29ec528a84","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8c00b321099ef3dc8ff75f29ec528a84","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3fa2a7dd-300a-4650-9897-495b53111650","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.422016} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9c14f22ce2a7175d782c413330eff2b7","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.559067313Z"}]},"request_id":"54989a82-73ee-4266-97a2-3b794a065311","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.4554658} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9c14f22ce2a7175d782c413330eff2b7","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.515610575Z"}]},"request_id":"f88aada3-4588-4f1c-9127-b00b937797cb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.4561298} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9c14f22ce2a7175d782c413330eff2b7"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8c00b321099ef3dc8ff75f29ec528a84","responseTime":2,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"28/Apr/2025:14:17:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9c14f22ce2a7175d782c413330eff2b7"} device-1 | {"level":"info","message":"PATCH /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f 200 49ms","method":"PATCH","requestID":"9c14f22ce2a7175d782c413330eff2b7","responseTime":49,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY","level":"info","message":"auth send jwt","requestID":"a1aadd780af5f8044c4e1b3c2c561fd6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a1aadd780af5f8044c4e1b3c2c561fd6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a1aadd780af5f8044c4e1b3c2c561fd6"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9054c86a-c949-40fa-9732-9023a8f433e4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.4616396} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8c00b321099ef3dc8ff75f29ec528a84","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634114,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a1aadd780af5f8044c4e1b3c2c561fd6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a1aadd780af5f8044c4e1b3c2c561fd6","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.515610575Z"}]},"request_id":"f0de85fa-f124-4076-9a72-0880e7fbbdf0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.472353} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"8c00b321099ef3dc8ff75f29ec528a84","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8c00b321099ef3dc8ff75f29ec528a84"} device-1 | {"level":"info","message":"PATCH /devices/28baf089-8246-47a7-b86d-de117d024438 200 81ms","method":"PATCH","requestID":"8c00b321099ef3dc8ff75f29ec528a84","responseTime":81,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438"} gateway-1 | {"time_local":"28/Apr/2025:14:17:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/28baf089-8246-47a7-b86d-de117d024438 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8c00b321099ef3dc8ff75f29ec528a84"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY","level":"info","message":"auth send jwt","requestID":"a17846606499e1dc0c431760faae2d37"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a17846606499e1dc0c431760faae2d37","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a17846606499e1dc0c431760faae2d37"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a1aadd780af5f8044c4e1b3c2c561fd6"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} gateway-1 | {"time_local":"28/Apr/2025:14:17:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a1aadd780af5f8044c4e1b3c2c561fd6"} device-1 | {"level":"info","message":"POST /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/websocket 200 44ms","method":"POST","requestID":"a1aadd780af5f8044c4e1b3c2c561fd6","responseTime":44,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/websocket"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750869,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a17846606499e1dc0c431760faae2d37","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a17846606499e1dc0c431760faae2d37","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a17846606499e1dc0c431760faae2d37"} gateway-1 | {"time_local":"28/Apr/2025:14:17:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/28baf089-8246-47a7-b86d-de117d024438/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a17846606499e1dc0c431760faae2d37"} device-1 | {"level":"info","message":"POST /devices/28baf089-8246-47a7-b86d-de117d024438/websocket 200 17ms","method":"POST","requestID":"a17846606499e1dc0c431760faae2d37","responseTime":17,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY","level":"info","message":"auth send jwt","requestID":"6cfdd9e9015813f3af26cc2d13009383"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6cfdd9e9015813f3af26cc2d13009383","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6cfdd9e9015813f3af26cc2d13009383"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686702,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6cfdd9e9015813f3af26cc2d13009383","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6cfdd9e9015813f3af26cc2d13009383","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.515610575Z"}]},"request_id":"ad81e4f9-85e3-424b-8bcb-e2b7a7f0a19d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.5637167} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6cfdd9e9015813f3af26cc2d13009383","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6cfdd9e9015813f3af26cc2d13009383"} device-1 | {"level":"info","message":"GET /devices/28baf089-8246-47a7-b86d-de117d024438? 200 9ms","method":"GET","requestID":"6cfdd9e9015813f3af26cc2d13009383","responseTime":9,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/28baf089-8246-47a7-b86d-de117d024438? 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":"6cfdd9e9015813f3af26cc2d13009383"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY","level":"info","message":"auth send jwt","requestID":"30cec22dae2eb43f871cafec9bd81723"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"30cec22dae2eb43f871cafec9bd81723","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"30cec22dae2eb43f871cafec9bd81723"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682915,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"30cec22dae2eb43f871cafec9bd81723","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","method":"POST","requestID":"30cec22dae2eb43f871cafec9bd81723","responseTime":22,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.559067313Z"}]},"request_id":"eaff7fd7-cd8a-4c9f-ba11-1e4d0666ae86","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.5969067} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"30cec22dae2eb43f871cafec9bd81723","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"30cec22dae2eb43f871cafec9bd81723"} gateway-1 | {"time_local":"28/Apr/2025:14:17:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f? 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":"30cec22dae2eb43f871cafec9bd81723"} device-1 | {"level":"info","message":"GET /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f? 200 28ms","method":"GET","requestID":"30cec22dae2eb43f871cafec9bd81723","responseTime":28,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY","level":"info","message":"auth send jwt","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"203a2d37e5fed21c16a8f808ef775b1c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.702529,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"203a2d37e5fed21c16a8f808ef775b1c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"203a2d37e5fed21c16a8f808ef775b1c","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Attempting to run experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Attempting to book experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Successfully booked experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8ed6af30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8ed6d640-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.595568,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ed6af30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ed6af30-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646786,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ed6d640-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8ed6d640-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.515610575Z"}]},"request_id":"36474947-2aad-413e-af46-99eaa4e31bca","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.6680262} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"8ed6af30-243b-11f0-b067-2fe344ae06f8","responseTime":27,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.559067313Z"}]},"request_id":"1aa2cbfd-0735-41d9-af61-3828490504a9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.6684988} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"8ed6d640-243b-11f0-b067-2fe344ae06f8","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8ed6af30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/28baf089-8246-47a7-b86d-de117d024438? 200 37ms","method":"GET","requestID":"8ed6af30-243b-11f0-b067-2fe344ae06f8","responseTime":37,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8ed6d640-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f? 200 36ms","method":"GET","requestID":"8ed6d640-243b-11f0-b067-2fe344ae06f8","responseTime":36,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Setting up experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Successfully set up experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8ee57c40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8ee5a350-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ee5ca60-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Successfully running experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48426","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747888,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ee57c40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"8ee57c40-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654818,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ee5a350-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"8ee5a350-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.515610575Z"}]},"request_id":"a2e929b7-5fb8-4b13-b1ef-592f2022cf99","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.7890983} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8ee57c40-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.559067313Z"}]},"request_id":"a15c0cf3-bcb6-4515-8bc1-8a476f338cde","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.7898965} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8ee5a350-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8ef0dcf-5c43-4fe4-bb49-0923a8f46d36","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.7907639} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.783483,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ee5ca60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","rebac_allow":false,"scope_allow":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":"8ee5ca60-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8ee57c40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5a53a6a-b721-49be-88d5-9dc2aef1d12f#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5a53a6a-b721-49be-88d5-9dc2aef1d12f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"4811704c-2130-4190-9973-f878cc5991e4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.7946334} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e878e038-ea7a-4c8b-988d-7ef294588eb0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.79479} device-1 | {"level":"info","message":"GET /devices/28baf089-8246-47a7-b86d-de117d024438? 200 39ms","method":"GET","requestID":"8ee57c40-243b-11f0-b067-2fe344ae06f8","responseTime":39,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8ee5a350-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f? 200 39ms","method":"GET","requestID":"8ee5a350-243b-11f0-b067-2fe344ae06f8","responseTime":39,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ee5ca60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/28baf089-8246-47a7-b86d-de117d024438/signaling 200 39ms","method":"POST","requestID":"8ee5ca60-243b-11f0-b067-2fe344ae06f8","responseTime":39,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"203a2d37e5fed21c16a8f808ef775b1c","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8eebe4e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8eec3300-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed45ac4c-27a3-4343-84bc-a8ca5ffbd672","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.8031018} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.794984,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8eebe4e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","rebac_allow":false,"scope_allow":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":"8eebe4e0-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:14:17:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 201ms","method":"POST","requestID":"203a2d37e5fed21c16a8f808ef775b1c","responseTime":201,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14436f98-8f1d-4605-b12a-cfe3f365909c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.804258} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755608,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8eec3300-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","rebac_allow":false,"scope_allow":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":"8eec3300-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY","level":"info","message":"auth send jwt","requestID":"08a571bf7ea9c7440d3678cc064fdcb0"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"08a571bf7ea9c7440d3678cc064fdcb0","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8eebe4e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/28baf089-8246-47a7-b86d-de117d024438/signaling 200 16ms","method":"POST","requestID":"8eebe4e0-243b-11f0-b067-2fe344ae06f8","responseTime":16,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"08a571bf7ea9c7440d3678cc064fdcb0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ef00390-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8eec3300-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling 200 33ms","method":"POST","requestID":"8eec3300-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:48456","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889428,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"08a571bf7ea9c7440d3678cc064fdcb0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","method":"POST","requestID":"08a571bf7ea9c7440d3678cc064fdcb0","responseTime":19,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a107305-b922-4115-9f45-18eef11fe68a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.8350277} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.781468,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ef00390-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","rebac_allow":false,"scope_allow":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":"8ef00390-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.515610575Z"}]},"request_id":"28109894-1317-4b3e-a2f9-cc45d041bd26","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.838489} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ef00390-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"08a571bf7ea9c7440d3678cc064fdcb0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling 200 14ms","method":"POST","requestID":"8ef00390-243b-11f0-b067-2fe344ae06f8","responseTime":14,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Building connection plan","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} 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":"0a205c81-4977-47e0-b8c9-f2fe6ddeea90"},{"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":"ea4e10b6-3002-4d22-8e2d-a2136c6c18f8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6648faa8-3433-4fb9-b90b-e10f7bbbbcb7"}]},"level":"info","message":"Built pairwise service configurations","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} 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/28baf089-8246-47a7-b86d-de117d024438"},{"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/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"08a571bf7ea9c7440d3678cc064fdcb0"} gateway-1 | {"time_local":"28/Apr/2025:14:17:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/28baf089-8246-47a7-b86d-de117d024438? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08a571bf7ea9c7440d3678cc064fdcb0"} device-1 | {"level":"info","message":"GET /devices/28baf089-8246-47a7-b86d-de117d024438? 200 28ms","method":"GET","requestID":"08a571bf7ea9c7440d3678cc064fdcb0","responseTime":28,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438?"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.162959,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY","level":"info","message":"auth send jwt","requestID":"e4585372a00bddf5e4343fababe94a42"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4585372a00bddf5e4343fababe94a42","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4585372a00bddf5e4343fababe94a42"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604231,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e4585372a00bddf5e4343fababe94a42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849866,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2Nn0.0ZKxi5Z7ex0-SbBhx3ah0kXZMCi5dPz2_mlAP6ie8CY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e4585372a00bddf5e4343fababe94a42","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"4bb6169c-bc1c-46f7-8341-25a2a346dd09","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.8546538} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96cdb214-92f0-4291-beaa-af6d615997cc","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.8550239} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:45.559067313Z"}]},"request_id":"095e1d5b-83b4-40ca-8a9b-7a549f23e832","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.8556387} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e4585372a00bddf5e4343fababe94a42","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4585372a00bddf5e4343fababe94a42"} gateway-1 | {"time_local":"28/Apr/2025:14:17:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f? 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":"e4585372a00bddf5e4343fababe94a42"} device-1 | {"level":"info","message":"GET /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f? 200 11ms","method":"GET","requestID":"e4585372a00bddf5e4343fababe94a42","responseTime":11,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e'","requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e'","requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"8ef29ba0-243b-11f0-b067-2fe344ae06f8","responseTime":27,"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":"8ef29ba0-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"203a2d37e5fed21c16a8f808ef775b1c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8efab1f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d22aa265-dc97-4c14-870e-eab12bce8f13","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.8998396} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838891,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8efab1f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","rebac_allow":false,"scope_allow":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":"8efab1f0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8efab1f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/28baf089-8246-47a7-b86d-de117d024438/signaling 200 8ms","method":"POST","requestID":"8efab1f0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8f007e50-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0283be24-ab4d-4823-ab7f-ea38dbb03b5b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849866.9373043} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.848914,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8f007e50-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","rebac_allow":false,"scope_allow":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":"8f007e50-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8f007e50-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling 200 8ms","method":"POST","requestID":"8f007e50-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling"} device-1 | {"device":"774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"38998833-1355-4691-8706-73751ce0cc8e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"38998833-1355-4691-8706-73751ce0cc8e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/38998833-1355-4691-8706-73751ce0cc8e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"38998833-1355-4691-8706-73751ce0cc8e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"549bfcddaf71d89b4c3597f22ad5d639","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"549bfcddaf71d89b4c3597f22ad5d639","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/28baf089-8246-47a7-b86d-de117d024438"},{"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/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e"}}},"level":"info","message":"received a callback","requestID":"549bfcddaf71d89b4c3597f22ad5d639"} device-1 | {"device":"774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"549bfcddaf71d89b4c3597f22ad5d639","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"549bfcddaf71d89b4c3597f22ad5d639"} device-1 | {"data":{"peerconnection":"38998833-1355-4691-8706-73751ce0cc8e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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":"38998833-1355-4691-8706-73751ce0cc8e","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/38998833-1355-4691-8706-73751ce0cc8e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"38998833-1355-4691-8706-73751ce0cc8e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"44262b86412c6a3cd98d16d6934eae10","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"44262b86412c6a3cd98d16d6934eae10","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/28baf089-8246-47a7-b86d-de117d024438"},{"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/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e"}}},"level":"info","message":"received a callback","requestID":"44262b86412c6a3cd98d16d6934eae10"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9036db70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:48Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F38998833-1355-4691-8706-73751ce0cc8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f2a3938-0cb5-498d-86e4-5231852de768","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849868.972036} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.162536,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9036db70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e","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":"9036db70-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9036db70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/38998833-1355-4691-8706-73751ce0cc8e 200 8ms","method":"GET","requestID":"9036db70-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/38998833-1355-4691-8706-73751ce0cc8e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"44262b86412c6a3cd98d16d6934eae10","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"44262b86412c6a3cd98d16d6934eae10"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"903a0fc0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:48Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58f4324e-7ca0-4080-a912-a3f8c18f78b3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849868.9932377} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.534979,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"903a0fc0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","rebac_allow":false,"scope_allow":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":"903a0fc0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"903a0fc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/28baf089-8246-47a7-b86d-de117d024438/signaling 200 10ms","method":"POST","requestID":"903a0fc0-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"903bbd70-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af56f618-ba16-47cc-b091-8202b662a22d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.0035753} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.491541,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"903bbd70-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","rebac_allow":false,"scope_allow":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":"903bbd70-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"903bbd70-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling 200 10ms","method":"POST","requestID":"903bbd70-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2OX0.WH26m1RzSHNIYIejxluYXFp5RJdtoa7lOf22CH56yEg","level":"info","message":"auth send jwt","requestID":"8b5fb60ae0baba1fbeccbef88e357f68"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8b5fb60ae0baba1fbeccbef88e357f68","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f","requestID":"8b5fb60ae0baba1fbeccbef88e357f68"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.986026,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8b5fb60ae0baba1fbeccbef88e357f68","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849869,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2OX0.WH26m1RzSHNIYIejxluYXFp5RJdtoa7lOf22CH56yEg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8b5fb60ae0baba1fbeccbef88e357f68","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f","requestID":"8b5fb60ae0baba1fbeccbef88e357f68"} gateway-1 | {"time_local":"28/Apr/2025:14:17:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f 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":"8b5fb60ae0baba1fbeccbef88e357f68"} experiment-1 | {"level":"info","message":"GET /experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f 200 33ms","method":"GET","requestID":"8b5fb60ae0baba1fbeccbef88e357f68","responseTime":33,"status":200,"url":"/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2OX0.WH26m1RzSHNIYIejxluYXFp5RJdtoa7lOf22CH56yEg","level":"info","message":"auth send jwt","requestID":"a223c6bfd489e7bac13ef186e63debc0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a223c6bfd489e7bac13ef186e63debc0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f","requestID":"a223c6bfd489e7bac13ef186e63debc0"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.898413,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"a223c6bfd489e7bac13ef186e63debc0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849869,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2OX0.WH26m1RzSHNIYIejxluYXFp5RJdtoa7lOf22CH56yEg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a223c6bfd489e7bac13ef186e63debc0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Attempting to finish experiment","requestID":"a223c6bfd489e7bac13ef186e63debc0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"904b9bf0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.750383,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"904b9bf0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849869,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2OX0.WH26m1RzSHNIYIejxluYXFp5RJdtoa7lOf22CH56yEg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"904b9bf0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","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/38998833-1355-4691-8706-73751ce0cc8e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"38998833-1355-4691-8706-73751ce0cc8e","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"28baf089-8246-47a7-b86d-de117d024438","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.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":"6ca5b53069afaf0facb2372b1e3e0b1e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"6ca5b53069afaf0facb2372b1e3e0b1e","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"542497aac3b21417c555188ae2a0797a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"542497aac3b21417c555188ae2a0797a","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F38998833-1355-4691-8706-73751ce0cc8e': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F38998833-1355-4691-8706-73751ce0cc8e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"407bb732-e8b7-4d74-be68-6196fad9dd77","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.1399395} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a711747e-1bf9-4359-a3a7-ebadcb5f1ff1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.140247} 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/28baf089-8246-47a7-b86d-de117d024438"},{"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/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e"}}},"level":"info","message":"received a callback","requestID":"6ca5b53069afaf0facb2372b1e3e0b1e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"904b9bf0-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/relations/update"} 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/28baf089-8246-47a7-b86d-de117d024438"},{"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/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/38998833-1355-4691-8706-73751ce0cc8e"}}},"level":"info","message":"received a callback","requestID":"542497aac3b21417c555188ae2a0797a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"904b9bf0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/38998833-1355-4691-8706-73751ce0cc8e 204 51ms","method":"DELETE","requestID":"904b9bf0-243b-11f0-b067-2fe344ae06f8","responseTime":51,"status":204,"url":"/peerconnections/38998833-1355-4691-8706-73751ce0cc8e"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"},"level":"info","message":"Successfully finished experiment","requestID":"a223c6bfd489e7bac13ef186e63debc0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"90590970-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F28baf089-8246-47a7-b86d-de117d024438","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"deaff385-e3da-40d8-aa49-da94e5d15d76","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.1953292} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.370911,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"90590970-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/28baf089-8246-47a7-b86d-de117d024438","object_type":"device","rebac_allow":false,"scope_allow":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":"90590970-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"90590970-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/28baf089-8246-47a7-b86d-de117d024438/signaling 200 8ms","method":"POST","requestID":"90590970-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/28baf089-8246-47a7-b86d-de117d024438/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"905a9010-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5a53a6a-b721-49be-88d5-9dc2aef1d12f': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5a53a6a-b721-49be-88d5-9dc2aef1d12f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"3890228d-08ec-4638-96cf-32a7e7794182","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.2018964} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"223a2df6-f0e8-4add-8623-54732637a211","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.2020502} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"a223c6bfd489e7bac13ef186e63debc0","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec3ed8cb-a453-4d24-a003-e2b9fda55c28","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.205648} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.204544,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"905a9010-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f","object_type":"device","rebac_allow":false,"scope_allow":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":"905a9010-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"905a9010-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling 200 8ms","method":"POST","requestID":"905a9010-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f","requestID":"a223c6bfd489e7bac13ef186e63debc0"} gateway-1 | {"time_local":"28/Apr/2025:14:17:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a223c6bfd489e7bac13ef186e63debc0"} experiment-1 | {"level":"info","message":"DELETE /experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f 204 206ms","method":"DELETE","requestID":"a223c6bfd489e7bac13ef186e63debc0","responseTime":206,"status":204,"url":"/experiments/a5a53a6a-b721-49be-88d5-9dc2aef1d12f"} gateway-1 | {"time_local":"28/Apr/2025:14:17:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.779","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d49c4fbc87892b40fffd118e424571dd"} gateway-1 | {"time_local":"28/Apr/2025:14:17:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.793","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"468ebed1f3bbdd29aaa66ae5c157b89a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"6ca5b53069afaf0facb2372b1e3e0b1e","responseTime":162,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch","requestID":"6ca5b53069afaf0facb2372b1e3e0b1e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 161ms","method":"POST","requestID":"542497aac3b21417c555188ae2a0797a","responseTime":161,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch","requestID":"542497aac3b21417c555188ae2a0797a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2OX0.WH26m1RzSHNIYIejxluYXFp5RJdtoa7lOf22CH56yEg","level":"info","message":"auth send jwt","requestID":"7a338ee82b080c82623579501f84fcb6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7a338ee82b080c82623579501f84fcb6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7a338ee82b080c82623579501f84fcb6"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/774292e5-dbb4-4139-aa7c-e3ddedaf0d1f' closed"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.576758,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"7a338ee82b080c82623579501f84fcb6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849869,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2OX0.WH26m1RzSHNIYIejxluYXFp5RJdtoa7lOf22CH56yEg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7a338ee82b080c82623579501f84fcb6","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/28baf089-8246-47a7-b86d-de117d024438' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ae7a6b8c-a623-4dfb-9d70-38fbf9b7283d","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.345161} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a338ee82b080c82623579501f84fcb6","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20105bff-4c63-47fe-8290-da7857a56231","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.3504426} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7a338ee82b080c82623579501f84fcb6","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"63740213-4bd6-42ba-8fa4-937c1ee32e7b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.3604343} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd1c54c5-f645-47f4-9602-6870800bc8a4","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.36068} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"7a338ee82b080c82623579501f84fcb6","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.360398410Z"}]},"request_id":"489ec403-70e8-4998-91c4-f9bd6654bfe0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.3676205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a338ee82b080c82623579501f84fcb6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7a338ee82b080c82623579501f84fcb6"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"7a338ee82b080c82623579501f84fcb6","responseTime":56,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a338ee82b080c82623579501f84fcb6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2OX0.WH26m1RzSHNIYIejxluYXFp5RJdtoa7lOf22CH56yEg","level":"info","message":"auth send jwt","requestID":"e5eca5b6a3e413525310d124a02d6a68"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e5eca5b6a3e413525310d124a02d6a68","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e5eca5b6a3e413525310d124a02d6a68"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.944851,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"e5eca5b6a3e413525310d124a02d6a68","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849869,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg2OX0.WH26m1RzSHNIYIejxluYXFp5RJdtoa7lOf22CH56yEg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e5eca5b6a3e413525310d124a02d6a68","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2d8b7247-ad2e-419f-83e4-a95db480c859","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.3932319} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5eca5b6a3e413525310d124a02d6a68","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46ec5ddd-ecb1-4375-928e-536c224218ed","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.3982809} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e5eca5b6a3e413525310d124a02d6a68","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"894a2c0c-8141-45bf-9e25-1dd7b0cac432","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.410215} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04739056-9344-478c-9a9a-304361628bd6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.4104235} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e5eca5b6a3e413525310d124a02d6a68","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.410179339Z"}]},"request_id":"4cbd4e5f-4330-491f-ab2e-ebcfd81654d3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849869.414446} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e5eca5b6a3e413525310d124a02d6a68","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e5eca5b6a3e413525310d124a02d6a68"} gateway-1 | {"time_local":"28/Apr/2025:14:17:49 +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":"e5eca5b6a3e413525310d124a02d6a68"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"e5eca5b6a3e413525310d124a02d6a68","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e1ac1245467752e38390d9486d53c92a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"e1ac1245467752e38390d9486d53c92a","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/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":"e1ac1245467752e38390d9486d53c92a"} device-1 | {"level":"info","message":"OPTIONS /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/websocket 200 1ms","method":"OPTIONS","requestID":"e1ac1245467752e38390d9486d53c92a","responseTime":1,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o","level":"info","message":"auth send jwt","requestID":"24a43c6fdcea6bbd5f82f8de12ee9d62"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"24a43c6fdcea6bbd5f82f8de12ee9d62","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"24a43c6fdcea6bbd5f82f8de12ee9d62"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.241306,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"24a43c6fdcea6bbd5f82f8de12ee9d62","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"24a43c6fdcea6bbd5f82f8de12ee9d62","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"24a43c6fdcea6bbd5f82f8de12ee9d62"} device-1 | {"level":"info","message":"POST /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/websocket 200 21ms","method":"POST","requestID":"24a43c6fdcea6bbd5f82f8de12ee9d62","responseTime":21,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"24a43c6fdcea6bbd5f82f8de12ee9d62"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a46d710f27165facc9a689b0b3d37344","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"a46d710f27165facc9a689b0b3d37344","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/272e2c78-6c03-4f08-ad51-1398058b8778/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":"a46d710f27165facc9a689b0b3d37344"} device-1 | {"level":"info","message":"OPTIONS /devices/272e2c78-6c03-4f08-ad51-1398058b8778/websocket 200 0ms","method":"OPTIONS","requestID":"a46d710f27165facc9a689b0b3d37344","responseTime":0,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o","level":"info","message":"auth send jwt","requestID":"9808430ef06bd2112527f92103762bdf"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9808430ef06bd2112527f92103762bdf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9808430ef06bd2112527f92103762bdf"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64' connected"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658314,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9808430ef06bd2112527f92103762bdf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9808430ef06bd2112527f92103762bdf","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9808430ef06bd2112527f92103762bdf"} device-1 | {"level":"info","message":"POST /devices/272e2c78-6c03-4f08-ad51-1398058b8778/websocket 200 15ms","method":"POST","requestID":"9808430ef06bd2112527f92103762bdf","responseTime":15,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/272e2c78-6c03-4f08-ad51-1398058b8778/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":"9808430ef06bd2112527f92103762bdf"} device-1 | {"level":"info","message":"device 'http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o","level":"info","message":"auth send jwt","requestID":"cceb022815b9a37487f33916292b2b2c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cceb022815b9a37487f33916292b2b2c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cceb022815b9a37487f33916292b2b2c"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.813871,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"cceb022815b9a37487f33916292b2b2c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cceb022815b9a37487f33916292b2b2c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.360398410Z"}]},"request_id":"8554cbcb-d165-4b37-a4c4-43cf7e7a0515","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.752596} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cceb022815b9a37487f33916292b2b2c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cceb022815b9a37487f33916292b2b2c"} device-1 | {"level":"info","message":"GET /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64? 200 33ms","method":"GET","requestID":"cceb022815b9a37487f33916292b2b2c","responseTime":33,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cceb022815b9a37487f33916292b2b2c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o","level":"info","message":"auth send jwt","requestID":"0776d9edeb7c13ceb06f2f6894f2940c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0776d9edeb7c13ceb06f2f6894f2940c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0776d9edeb7c13ceb06f2f6894f2940c"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.874869,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"0776d9edeb7c13ceb06f2f6894f2940c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0776d9edeb7c13ceb06f2f6894f2940c","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.410179339Z"}]},"request_id":"20a0e5fc-adbe-4f73-ae3b-695740edad2c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.7893646} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0776d9edeb7c13ceb06f2f6894f2940c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0776d9edeb7c13ceb06f2f6894f2940c"} gateway-1 | {"time_local":"28/Apr/2025:14:17:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/272e2c78-6c03-4f08-ad51-1398058b8778? 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":"0776d9edeb7c13ceb06f2f6894f2940c"} device-1 | {"level":"info","message":"GET /devices/272e2c78-6c03-4f08-ad51-1398058b8778? 200 10ms","method":"GET","requestID":"0776d9edeb7c13ceb06f2f6894f2940c","responseTime":10,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o","level":"info","message":"auth send jwt","requestID":"3ecfbc7703516766213db157532ca627"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3ecfbc7703516766213db157532ca627","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3ecfbc7703516766213db157532ca627"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":24.887433,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"3ecfbc7703516766213db157532ca627","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"3ecfbc7703516766213db157532ca627","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Attempting to run experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Attempting to book experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Successfully booked experiment","requestID":"3ecfbc7703516766213db157532ca627"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91ef12c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91f26e20-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683626,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"91ef12c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"91ef12c0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60946","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60946","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738062,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"91f26e20-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"91f26e20-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.360398410Z"}]},"request_id":"58187e24-fb96-4367-8f42-089d95e3feab","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.8797965} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"91ef12c0-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.410179339Z"}]},"request_id":"56e95aea-29a5-49ff-8bb3-bcdcf3eb7f0c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.883282} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91ef12c0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"91f26e20-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64? 200 32ms","method":"GET","requestID":"91ef12c0-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91f26e20-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/272e2c78-6c03-4f08-ad51-1398058b8778? 200 12ms","method":"GET","requestID":"91f26e20-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Setting up experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Successfully set up experiment","requestID":"3ecfbc7703516766213db157532ca627"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91fd1c80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91fd4390-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"91fd6aa0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60946","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60946","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623459,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Successfully running experiment","requestID":"3ecfbc7703516766213db157532ca627"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"91fd1c80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"91fd1c80-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":21.252381,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"91fd4390-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"91fd4390-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.360398410Z"}]},"request_id":"6f2fd272-2832-43fb-9f6c-95fef255e955","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.9787204} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"91fd1c80-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.410179339Z"}]},"request_id":"d476da5e-c89d-4735-809c-8186cb0e9df8","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.9796846} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9bbd8cd-c2a3-405d-9b61-0eb2d656ce49","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.9802332} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"91fd4390-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.507932,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"91fd6aa0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","object_type":"device","rebac_allow":false,"scope_allow":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":"91fd6aa0-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91fd4390-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F240f1959-b5d0-4c06-9a40-1b8707ff34d4#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F240f1959-b5d0-4c06-9a40-1b8707ff34d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"211a7b52-e44a-448b-87e2-ed582c915e05","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.9842117} device-1 | {"level":"info","message":"GET /devices/272e2c78-6c03-4f08-ad51-1398058b8778? 200 39ms","method":"GET","requestID":"91fd4390-243b-11f0-b067-2fe344ae06f8","responseTime":39,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91fd1c80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64? 200 41ms","method":"GET","requestID":"91fd1c80-243b-11f0-b067-2fe344ae06f8","responseTime":41,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6419d2e5-a263-4811-b7e0-979ee3cee1ac","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.9844785} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"91fd6aa0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling 200 39ms","method":"POST","requestID":"91fd6aa0-243b-11f0-b067-2fe344ae06f8","responseTime":39,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"92038520-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9203ac30-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"3ecfbc7703516766213db157532ca627","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a210c5b7-99d3-438f-a9d7-0a38ba8ed00c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849871.990672} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.097894,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"92038520-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","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":"28/Apr/2025:14:17:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.225","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ecfbc7703516766213db157532ca627"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"92038520-243b-11f0-b067-2fe344ae06f8","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"92038520-243b-11f0-b067-2fe344ae06f8"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"level":"info","message":"POST /experiments? 201 222ms","method":"POST","requestID":"3ecfbc7703516766213db157532ca627","responseTime":222,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"640a47b7-0e50-4d67-8d9d-04ca4c045f70","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.017497} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.688924,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9203ac30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","rebac_allow":false,"scope_allow":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":"9203ac30-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling 200 34ms","method":"POST","requestID":"92038520-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"92090360-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk","level":"info","message":"auth send jwt","requestID":"8598259141aabb154e076806d1a52f42"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8598259141aabb154e076806d1a52f42","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8598259141aabb154e076806d1a52f42"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9203ac30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/272e2c78-6c03-4f08-ad51-1398058b8778/signaling 200 39ms","method":"POST","requestID":"9203ac30-243b-11f0-b067-2fe344ae06f8","responseTime":39,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778/signaling"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f88a61c-b541-480f-8a52-bbfafb356ba2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.0270164} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.844537,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"92090360-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","rebac_allow":false,"scope_allow":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":"92090360-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.80525,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"8598259141aabb154e076806d1a52f42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849872,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8598259141aabb154e076806d1a52f42","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"92090360-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/272e2c78-6c03-4f08-ad51-1398058b8778/signaling 200 10ms","method":"POST","requestID":"92090360-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778/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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.360398410Z"}]},"request_id":"97e00d11-1e11-444a-9d4b-cd59389c6453","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.0329244} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Building connection plan","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"b2eb2afd-e976-4d0a-8bff-01d2f2808b09"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9a68cd0d-6516-47f4-8d80-fe1d11a2b90e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7cbac761-b405-418d-8b10-d200c61dcd9b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3ecfbc7703516766213db157532ca627"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3ecfbc7703516766213db157532ca627"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8598259141aabb154e076806d1a52f42","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8598259141aabb154e076806d1a52f42"} device-1 | {"level":"info","message":"GET /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64? 200 12ms","method":"GET","requestID":"8598259141aabb154e076806d1a52f42","responseTime":12,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64? 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":"8598259141aabb154e076806d1a52f42"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.700012,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"920aff30-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849871,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3MX0.M8IFd_THYWAb5RUV0GT9qRtFEsiXZsLgeiv1VRNrE5o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk","level":"info","message":"auth send jwt","requestID":"da7fde0733ba3e3535b70149d4f10d69"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"da7fde0733ba3e3535b70149d4f10d69","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"da7fde0733ba3e3535b70149d4f10d69"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61919,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"da7fde0733ba3e3535b70149d4f10d69","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849872,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"da7fde0733ba3e3535b70149d4f10d69","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"8474a61e-dbbd-4149-9668-299aa50b36eb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.0706596} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff7db550-5184-4c2f-8c2a-7fd67519f9f1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.0709007} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:49.410179339Z"}]},"request_id":"1bdd1786-8553-4402-a715-a42345840a38","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.071362} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"da7fde0733ba3e3535b70149d4f10d69","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"da7fde0733ba3e3535b70149d4f10d69"} device-1 | {"level":"info","message":"GET /devices/272e2c78-6c03-4f08-ad51-1398058b8778? 200 34ms","method":"GET","requestID":"da7fde0733ba3e3535b70149d4f10d69","responseTime":34,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/272e2c78-6c03-4f08-ad51-1398058b8778? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da7fde0733ba3e3535b70149d4f10d69"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e'","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e'","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"920aff30-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e","device":"272e2c78-6c03-4f08-ad51-1398058b8778","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/35c84b03-0b35-4690-8ec5-387bc5e7922e","device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","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/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3ecfbc7703516766213db157532ca627"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9219cc40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6987925a-a25c-46c6-a55e-b9a746f8dba5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.1364532} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.403465,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9219cc40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","object_type":"device","rebac_allow":false,"scope_allow":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":"9219cc40-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9219cc40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling 200 33ms","method":"POST","requestID":"9219cc40-243b-11f0-b067-2fe344ae06f8","responseTime":33,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling"} device-1 | {"device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"921f2370-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"296ba010-9819-4671-b218-1b94e1c131f9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.1712775} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.559149,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"921f2370-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","rebac_allow":false,"scope_allow":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":"921f2370-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"921f2370-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/272e2c78-6c03-4f08-ad51-1398058b8778/signaling 200 8ms","method":"POST","requestID":"921f2370-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778/signaling"} device-1 | {"device":"272e2c78-6c03-4f08-ad51-1398058b8778","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"272e2c78-6c03-4f08-ad51-1398058b8778","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 2275248594835025399 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:jwii\r\na=ice-pwd:0alzkxZE18obcfVRATrIgtwv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CB:A5:DF:E6:0D:5C:B0:8B:D1:3B:45:8A:FB:86:C1:AE:00:02:02:E7:C6:64:9B:0F:EC:4E:15:5B:E0:30:A8:DA\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"272e2c78-6c03-4f08-ad51-1398058b8778","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 9021866431822499985 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:YQlb\r\na=ice-pwd:hMiVR+qUoeWWwT99oAx1mj2l\r\na=ice-options:trickle\r\na=fingerprint:sha-256 6F:1C:CE:7A:8D:88:32:00:C5:63:C0:3B:FD:6B:34:9C:15:BF:A8:B9:42:C1:4A:2C:AB:55:EE:B7:06:A7:0A:05\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:281483138 1 udp 2113937151 28f88445-6975-480f-ac18-3aa004d0c010.local 51660 typ host generation 0 ufrag YQlb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","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/a0f83932-7e61-4a9f-bd79-35cb97c13d64'"} device-1 | {"content":{"candidate":"candidate:975983867 1 udp 2113937151 ec7b1351-b413-4c60-b90d-72fdec7b6d6e.local 58339 typ host generation 0 ufrag jwii network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"272e2c78-6c03-4f08-ad51-1398058b8778","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"272e2c78-6c03-4f08-ad51-1398058b8778","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","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/35c84b03-0b35-4690-8ec5-387bc5e7922e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"35c84b03-0b35-4690-8ec5-387bc5e7922e","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"272e2c78-6c03-4f08-ad51-1398058b8778","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8ab28c3fdca270b5adb3c5dc70b74d7a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"8ab28c3fdca270b5adb3c5dc70b74d7a","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/a0f83932-7e61-4a9f-bd79-35cb97c13d64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e"}}},"level":"info","message":"received a callback","requestID":"8ab28c3fdca270b5adb3c5dc70b74d7a"} device-1 | {"device":"272e2c78-6c03-4f08-ad51-1398058b8778","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ab28c3fdca270b5adb3c5dc70b74d7a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"8ab28c3fdca270b5adb3c5dc70b74d7a","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"35c84b03-0b35-4690-8ec5-387bc5e7922e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"35c84b03-0b35-4690-8ec5-387bc5e7922e","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/35c84b03-0b35-4690-8ec5-387bc5e7922e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"35c84b03-0b35-4690-8ec5-387bc5e7922e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c1f477630ba855101f0cee5c3c19fee0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"c1f477630ba855101f0cee5c3c19fee0","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/a0f83932-7e61-4a9f-bd79-35cb97c13d64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e"}}},"level":"info","message":"received a callback","requestID":"c1f477630ba855101f0cee5c3c19fee0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"92367c00-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F35c84b03-0b35-4690-8ec5-387bc5e7922e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84e48123-6abf-4fd9-a350-28d79d82a7e6","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.3237357} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.113661,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"92367c00-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e","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":"92367c00-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"92367c00-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e 200 7ms","method":"GET","requestID":"92367c00-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"c1f477630ba855101f0cee5c3c19fee0","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"c1f477630ba855101f0cee5c3c19fee0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"923d32c0-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk","level":"info","message":"auth send jwt","requestID":"108f614db9fe5e74a979708eb8eeb062"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"108f614db9fe5e74a979708eb8eeb062","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4","requestID":"108f614db9fe5e74a979708eb8eeb062"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.575982,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"108f614db9fe5e74a979708eb8eeb062","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849872,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"108f614db9fe5e74a979708eb8eeb062","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e7fa33d-8592-4d5b-b97c-6776a0a75609","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.3679974} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.162414,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"923d32c0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","object_type":"device","rebac_allow":false,"scope_allow":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":"923d32c0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"923d32c0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling 200 7ms","method":"POST","requestID":"923d32c0-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4","requestID":"108f614db9fe5e74a979708eb8eeb062"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"923e9250-243b-11f0-b067-2fe344ae06f8"} gateway-1 | {"time_local":"28/Apr/2025:14:17:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"108f614db9fe5e74a979708eb8eeb062"} experiment-1 | {"level":"info","message":"GET /experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4 200 9ms","method":"GET","requestID":"108f614db9fe5e74a979708eb8eeb062","responseTime":9,"status":200,"url":"/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4","requestID":"61ab7edbb80eefa09d544665d21ded30"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65eaf65e-c369-41c6-9cf2-8301e00b0e60","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.4015684} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk","level":"info","message":"auth send jwt","requestID":"61ab7edbb80eefa09d544665d21ded30"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.607365,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"923e9250-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","rebac_allow":false,"scope_allow":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":"923e9250-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"61ab7edbb80eefa09d544665d21ded30","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"923e9250-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/272e2c78-6c03-4f08-ad51-1398058b8778/signaling 200 32ms","method":"POST","requestID":"923e9250-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.892775,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"61ab7edbb80eefa09d544665d21ded30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849872,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"61ab7edbb80eefa09d544665d21ded30","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Attempting to finish experiment","requestID":"61ab7edbb80eefa09d544665d21ded30"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"92445eb0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.666868,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"92445eb0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849872,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"92445eb0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e","device":"a0f83932-7e61-4a9f-bd79-35cb97c13d64","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e","device":"272e2c78-6c03-4f08-ad51-1398058b8778","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/35c84b03-0b35-4690-8ec5-387bc5e7922e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"35c84b03-0b35-4690-8ec5-387bc5e7922e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F35c84b03-0b35-4690-8ec5-387bc5e7922e': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F35c84b03-0b35-4690-8ec5-387bc5e7922e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"a7354778-969c-410b-9c38-22c4009fb4ff","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.450705} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"06a895cbb2fbcb329a23b57f6191ac97","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2eb3fcfb-70cf-4284-985e-50d1248492b7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.4513128} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"06a895cbb2fbcb329a23b57f6191ac97","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fe1602a43e7bff957c0e1ac3e785642f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"fe1602a43e7bff957c0e1ac3e785642f","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":"closed","url":"http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e"}}},"level":"info","message":"received a callback","requestID":"06a895cbb2fbcb329a23b57f6191ac97"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"92445eb0-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e"}}},"level":"info","message":"received a callback","requestID":"fe1602a43e7bff957c0e1ac3e785642f"} device-1 | {"data":{"peerconnection":"35c84b03-0b35-4690-8ec5-387bc5e7922e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"92445eb0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e 204 56ms","method":"DELETE","requestID":"92445eb0-243b-11f0-b067-2fe344ae06f8","responseTime":56,"status":204,"url":"/peerconnections/35c84b03-0b35-4690-8ec5-387bc5e7922e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"},"level":"info","message":"Successfully finished experiment","requestID":"61ab7edbb80eefa09d544665d21ded30"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"92528f80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0f83932-7e61-4a9f-bd79-35cb97c13d64","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50b94c0a-8e0a-44da-be48-4a40c424496b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.508789} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.959511,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"92528f80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64","object_type":"device","rebac_allow":false,"scope_allow":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":"92528f80-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"92528f80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling 200 8ms","method":"POST","requestID":"92528f80-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/a0f83932-7e61-4a9f-bd79-35cb97c13d64/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"92541620-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F240f1959-b5d0-4c06-9a40-1b8707ff34d4': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F240f1959-b5d0-4c06-9a40-1b8707ff34d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"ba39241d-78bc-4cea-aadd-3775f36943e2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.5157225} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"414de18a-085c-4067-b21a-0057518e8359","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.5159059} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"61ab7edbb80eefa09d544665d21ded30","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F272e2c78-6c03-4f08-ad51-1398058b8778","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"faaef0b6-4720-4708-87bc-14f810c39cd2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.5182056} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.313104,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"92541620-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778","object_type":"device","rebac_allow":false,"scope_allow":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":"92541620-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"92541620-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/272e2c78-6c03-4f08-ad51-1398058b8778/signaling 200 32ms","method":"POST","requestID":"92541620-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/272e2c78-6c03-4f08-ad51-1398058b8778/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4","requestID":"61ab7edbb80eefa09d544665d21ded30"} gateway-1 | {"time_local":"28/Apr/2025:14:17:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.232","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61ab7edbb80eefa09d544665d21ded30"} experiment-1 | {"level":"info","message":"DELETE /experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4 204 205ms","method":"DELETE","requestID":"61ab7edbb80eefa09d544665d21ded30","responseTime":205,"status":204,"url":"/experiments/240f1959-b5d0-4c06-9a40-1b8707ff34d4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 158ms","method":"POST","requestID":"06a895cbb2fbcb329a23b57f6191ac97","responseTime":158,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"06a895cbb2fbcb329a23b57f6191ac97"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"fe1602a43e7bff957c0e1ac3e785642f","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17: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.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"fe1602a43e7bff957c0e1ac3e785642f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk","level":"info","message":"auth send jwt","requestID":"43c97c2ede50a9cdc843163db589a60b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"43c97c2ede50a9cdc843163db589a60b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"43c97c2ede50a9cdc843163db589a60b"} gateway-1 | {"time_local":"28/Apr/2025:14:17:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","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":"9860555ac6c5cff3c8fb1116bb3916e0"} gateway-1 | {"time_local":"28/Apr/2025:14:17:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"0.966","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":"832386d07c58a538dd9e8c12a3187f5d"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":26.116744,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"43c97c2ede50a9cdc843163db589a60b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849872,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"43c97c2ede50a9cdc843163db589a60b","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/a0f83932-7e61-4a9f-bd79-35cb97c13d64' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/272e2c78-6c03-4f08-ad51-1398058b8778' 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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a8f7e065-ce73-49a2-8198-e7402aaa2d76","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.6556504} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"43c97c2ede50a9cdc843163db589a60b","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7752dd35-d6e5-4c1e-b72e-617fbacff2ae","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.6591887} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"43c97c2ede50a9cdc843163db589a60b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"bfe8b843-9d1f-4e8d-bfa8-d6d6686ccaa1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.667958} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dfe70fe4-5c4d-4fa3-807e-8abcd17db8a3","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.668214} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"43c97c2ede50a9cdc843163db589a60b","responseTime":31,"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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:52.667926750Z"}]},"request_id":"be98e4bc-f07a-4e11-a1d5-161ba14b3365","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.6920013} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"43c97c2ede50a9cdc843163db589a60b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"43c97c2ede50a9cdc843163db589a60b"} gateway-1 | {"time_local":"28/Apr/2025:14:17:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43c97c2ede50a9cdc843163db589a60b"} device-1 | {"level":"info","message":"POST /devices? 201 79ms","method":"POST","requestID":"43c97c2ede50a9cdc843163db589a60b","responseTime":79,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk","level":"info","message":"auth send jwt","requestID":"c48dc93556248c3c98ded9b47cff0ac4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c48dc93556248c3c98ded9b47cff0ac4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c48dc93556248c3c98ded9b47cff0ac4"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.67124,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"c48dc93556248c3c98ded9b47cff0ac4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849872,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3Mn0.iuN4epe7q5iI1FFKGGPfk6q7wW7L7ppleaQYRcOJZUk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c48dc93556248c3c98ded9b47cff0ac4","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5be9467-d1bf-4993-91f3-09f5feaf67da","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.7381663} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"c48dc93556248c3c98ded9b47cff0ac4","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:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63e088f9-d9c6-484f-98f2-e76674b957a0","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.7416594} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"c48dc93556248c3c98ded9b47cff0ac4","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"41dd89cd-0bab-43e2-9e91-62b1e3747782","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.75041} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0052a1b2-5e6b-495b-acd2-29a578ee29df","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.7507622} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"c48dc93556248c3c98ded9b47cff0ac4","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:52.750384076Z"}]},"request_id":"beaba735-6acb-4263-864d-595f65950cb7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849872.7537594} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c48dc93556248c3c98ded9b47cff0ac4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c48dc93556248c3c98ded9b47cff0ac4"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"c48dc93556248c3c98ded9b47cff0ac4","responseTime":57,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c48dc93556248c3c98ded9b47cff0ac4"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0e0cc4761d0f3211a4e8737d552e0402","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"0e0cc4761d0f3211a4e8737d552e0402","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/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":"0e0cc4761d0f3211a4e8737d552e0402"} device-1 | {"level":"info","message":"OPTIONS /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/websocket 200 0ms","method":"OPTIONS","requestID":"0e0cc4761d0f3211a4e8737d552e0402","responseTime":0,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE","level":"info","message":"auth send jwt","requestID":"49646e4181469874f3b83e096a5aa01b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"49646e4181469874f3b83e096a5aa01b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"49646e4181469874f3b83e096a5aa01b"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.280598,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"49646e4181469874f3b83e096a5aa01b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"49646e4181469874f3b83e096a5aa01b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"49646e4181469874f3b83e096a5aa01b"} device-1 | {"level":"info","message":"POST /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/websocket 200 15ms","method":"POST","requestID":"49646e4181469874f3b83e096a5aa01b","responseTime":15,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/websocket"} gateway-1 | {"time_local":"28/Apr/2025:14:17:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/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":"49646e4181469874f3b83e096a5aa01b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE","level":"info","message":"auth send jwt","requestID":"73afee4b15ac9594c09ab7fa073117e6"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"73afee4b15ac9594c09ab7fa073117e6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"73afee4b15ac9594c09ab7fa073117e6"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647643,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"73afee4b15ac9594c09ab7fa073117e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"73afee4b15ac9594c09ab7fa073117e6","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:52.750384076Z"}]},"request_id":"d392b9f7-b2fc-4218-b157-bc99496a1400","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.126547} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"73afee4b15ac9594c09ab7fa073117e6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"73afee4b15ac9594c09ab7fa073117e6"} gateway-1 | {"time_local":"28/Apr/2025:14:17:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef? 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":"73afee4b15ac9594c09ab7fa073117e6"} device-1 | {"level":"info","message":"GET /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef? 200 11ms","method":"GET","requestID":"73afee4b15ac9594c09ab7fa073117e6","responseTime":11,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE","level":"info","message":"auth send jwt","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fbffab9ee4b94e546fc90d875d5469b3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.230853,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"fbffab9ee4b94e546fc90d875d5469b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fbffab9ee4b94e546fc90d875d5469b3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Attempting to run experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Attempting to book experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Successfully booked experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"93ea4680-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"93ea6d90-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945651,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"93ea4680-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"93ea4680-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.550539,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"93ea6d90-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"93ea6d90-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:52.667926750Z"}]},"request_id":"344b0805-82e6-4644-9170-39a20b169c96","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.184344} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"93ea4680-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:52.750384076Z"}]},"request_id":"7676ba8a-a5e3-4b02-a32d-dbbd0019d1bb","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.1854494} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"93ea6d90-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"93ea4680-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e? 200 13ms","method":"GET","requestID":"93ea4680-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"93ea6d90-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef? 200 12ms","method":"GET","requestID":"93ea6d90-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Setting up experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"93ee6530-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.716668,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"93ee6530-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"93ee6530-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"b0bdc930-f70e-45e9-9026-2d5a3085257b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.2512903} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c77ecea4-130b-418d-8118-4c83e219a742","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.2515879} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"93ee6530-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a' to 'http://localhost/callbacks/experiment'","requestID":"93ee6530-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"93ee6530-243b-11f0-b067-2fe344ae06f8"} authentication-1 | {"level":"info","message":"POST /token 201 32ms","method":"POST","requestID":"93f6c9a0-243b-11f0-bc48-89aab032b22d","responseTime":32,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 91ms","method":"POST","requestID":"93ee6530-243b-11f0-b067-2fe344ae06f8","responseTime":91,"status":201,"url":"/devices/8d1ed3d7-b6a6-4ea6-a907-8dbbaa763c2e?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Successfully set up experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9405bdc0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9408f210-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"94094030-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842523,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Successfully running experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9405bdc0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9405bdc0-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60950","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.582194,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"9408f210-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9408f210-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cdda87f-152a-4b1a-b21d-890dbc21c209","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.3843112} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.433232,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"94094030-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","rebac_allow":false,"scope_allow":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":"94094030-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:52.750384076Z"}]},"request_id":"936def6c-db92-41e3-9ee5-1cec55adc578","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.3867188} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9408f210-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:55.251255222Z"}]},"request_id":"7ddfcc8d-7d55-4c53-bc87-05dc90ea1d4b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.3889189} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9405bdc0-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device da6890b9-4657-4055-a3f7-a063042e098a","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device da6890b9-4657-4055-a3f7-a063042e098a\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/da6890b9-4657-4055-a3f7-a063042e098a/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"94094030-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/da6890b9-4657-4055-a3f7-a063042e098a/signaling 404 12ms","method":"POST","requestID":"94094030-243b-11f0-b067-2fe344ae06f8","responseTime":12,"status":404,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device da6890b9-4657-4055-a3f7-a063042e098a"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"940bb130-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0ee8209a-09ed-4294-a507-085704a416ca#owner@http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0ee8209a-09ed-4294-a507-085704a416ca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"908855df-25cb-495b-a13e-0c7e8dc0f8b5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.3957376} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9408f210-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef? 200 22ms","method":"GET","requestID":"9408f210-243b-11f0-b067-2fe344ae06f8","responseTime":22,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9405bdc0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92174043-1767-4a2c-abd6-cb8e49623e20","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.396297} device-1 | {"level":"info","message":"GET /devices/da6890b9-4657-4055-a3f7-a063042e098a? 200 44ms","method":"GET","requestID":"9405bdc0-243b-11f0-b067-2fe344ae06f8","responseTime":44,"status":200,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"fbffab9ee4b94e546fc90d875d5469b3","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed8168f6-6ee2-44f3-ae8f-b755317a4d01","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849875.431608} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.530716,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"940bb130-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","rebac_allow":false,"scope_allow":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":"940bb130-243b-11f0-b067-2fe344ae06f8","responseTime":34,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca","user":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} gateway-1 | {"time_local":"28/Apr/2025:14:17:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.304","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 299ms","method":"POST","requestID":"fbffab9ee4b94e546fc90d875d5469b3","responseTime":299,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"940bb130-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling 200 42ms","method":"POST","requestID":"940bb130-243b-11f0-b067-2fe344ae06f8","responseTime":42,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b5065ecb749d32329362b0b22285482","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"5b5065ecb749d32329362b0b22285482","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:14:17:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/da6890b9-4657-4055-a3f7-a063042e098a/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":"5b5065ecb749d32329362b0b22285482"} device-1 | {"level":"info","message":"OPTIONS /devices/da6890b9-4657-4055-a3f7-a063042e098a/websocket 200 1ms","method":"OPTIONS","requestID":"5b5065ecb749d32329362b0b22285482","responseTime":1,"status":200,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6Ik1IUGtfaklkY0U0a05BMjBmcEZra3BtaVRsREhJNzY5dERBaE5qTk9zZXhaTG1BaURxeWZfVzh1eXVEV3JWZFJyWkYzMU1sZXhiZUY0bEItSWdRY2x3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3N30.Vxc68bk3SeQKijTbHkS5YMa1_gUQHe2rNIp0as1aKh0","level":"info","message":"auth send jwt","requestID":"6a87dfd2ed4dfd886012f9743631bed9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6a87dfd2ed4dfd886012f9743631bed9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6a87dfd2ed4dfd886012f9743631bed9"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139297,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6a87dfd2ed4dfd886012f9743631bed9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","payload":{"admin":true,"edgeToken":"MHPk_jIdcE4kNA20fpFkkpmiTlDHI769tDAhNjNOsexZLmAiDqyf_W8uyuDWrVdRrZF31MlexbeF4lB-IgQclw","iat":1745849877,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6Ik1IUGtfaklkY0U0a05BMjBmcEZra3BtaVRsREhJNzY5dERBaE5qTk9zZXhaTG1BaURxeWZfVzh1eXVEV3JWZFJyWkYzMU1sZXhiZUY0bEItSWdRY2x3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3N30.Vxc68bk3SeQKijTbHkS5YMa1_gUQHe2rNIp0as1aKh0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6a87dfd2ed4dfd886012f9743631bed9","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6a87dfd2ed4dfd886012f9743631bed9"} gateway-1 | {"time_local":"28/Apr/2025:14:17:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/da6890b9-4657-4055-a3f7-a063042e098a/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":"6a87dfd2ed4dfd886012f9743631bed9"} device-1 | {"level":"info","message":"POST /devices/da6890b9-4657-4055-a3f7-a063042e098a/websocket 200 21ms","method":"POST","requestID":"6a87dfd2ed4dfd886012f9743631bed9","responseTime":21,"status":200,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7035a7c686494ea9a8e3b3ac26b25cb6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"7035a7c686494ea9a8e3b3ac26b25cb6","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/da6890b9-4657-4055-a3f7-a063042e098a"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"7035a7c686494ea9a8e3b3ac26b25cb6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3N30.5O8Mqah8zmcvcTbXlqcs114H8HhAcjVUtxGsOWjC_Nc","level":"info","message":"auth send jwt","requestID":"ef7cfb42bf5f71164510ffbe79929c0e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ef7cfb42bf5f71164510ffbe79929c0e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ef7cfb42bf5f71164510ffbe79929c0e"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927074,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"ef7cfb42bf5f71164510ffbe79929c0e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849877,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3N30.5O8Mqah8zmcvcTbXlqcs114H8HhAcjVUtxGsOWjC_Nc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ef7cfb42bf5f71164510ffbe79929c0e","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:55.251255222Z"}]},"request_id":"c9d51dcc-bba5-4e4f-afd2-52e7ef403b29","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849877.7293384} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ef7cfb42bf5f71164510ffbe79929c0e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ef7cfb42bf5f71164510ffbe79929c0e"} gateway-1 | {"time_local":"28/Apr/2025:14:17:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/da6890b9-4657-4055-a3f7-a063042e098a? 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":"ef7cfb42bf5f71164510ffbe79929c0e"} device-1 | {"level":"info","message":"GET /devices/da6890b9-4657-4055-a3f7-a063042e098a? 200 9ms","method":"GET","requestID":"ef7cfb42bf5f71164510ffbe79929c0e","responseTime":9,"status":200,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a?"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"7035a7c686494ea9a8e3b3ac26b25cb6","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:17:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"7035a7c686494ea9a8e3b3ac26b25cb6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3N30.5O8Mqah8zmcvcTbXlqcs114H8HhAcjVUtxGsOWjC_Nc","level":"info","message":"auth send jwt","requestID":"af6c4ac4f6a2ca4d620da609b66f3892"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"af6c4ac4f6a2ca4d620da609b66f3892","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af6c4ac4f6a2ca4d620da609b66f3892"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:17:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702874,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:17:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"af6c4ac4f6a2ca4d620da609b66f3892","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849877,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3N30.5O8Mqah8zmcvcTbXlqcs114H8HhAcjVUtxGsOWjC_Nc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"af6c4ac4f6a2ca4d620da609b66f3892","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:52.750384076Z"}]},"request_id":"3d7052ff-22c4-4fc8-a7e4-dd22baa25285","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849877.7424843} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"af6c4ac4f6a2ca4d620da609b66f3892","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af6c4ac4f6a2ca4d620da609b66f3892"} device-1 | {"level":"info","message":"GET /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef? 200 9ms","method":"GET","requestID":"af6c4ac4f6a2ca4d620da609b66f3892","responseTime":9,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef?"} gateway-1 | {"time_local":"28/Apr/2025:14:17:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af6c4ac4f6a2ca4d620da609b66f3892"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97084f60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97087670-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.295705,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"97084f60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97084f60-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.007635,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"97087670-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"97087670-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:55.251255222Z"}]},"request_id":"2b4c915c-37e0-4f5f-82ed-ee4afcad2da7","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.4201224} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"97084f60-243b-11f0-b067-2fe344ae06f8","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:55808","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"},"timestamp":"2025-04-28T14:17:52.750384076Z"}]},"request_id":"d61cbd97-1931-4210-bc03-7f75ceb2f816","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.4217227} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"97087670-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97084f60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/da6890b9-4657-4055-a3f7-a063042e098a? 200 22ms","method":"GET","requestID":"97084f60-243b-11f0-b067-2fe344ae06f8","responseTime":22,"status":200,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97087670-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef? 200 22ms","method":"GET","requestID":"97087670-243b-11f0-b067-2fe344ae06f8","responseTime":22,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"970c4700-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56dc0d7e-5838-4452-bf8f-cd2f7f9e39d1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.4391992} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.536905,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"970c4700-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","rebac_allow":false,"scope_allow":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":"970c4700-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"970c4700-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/da6890b9-4657-4055-a3f7-a063042e098a/signaling 200 13ms","method":"POST","requestID":"970c4700-243b-11f0-b067-2fe344ae06f8","responseTime":13,"status":200,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"970e69e0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f46ec689-d6d2-44a0-916e-be7baca09184","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.450876} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.788431,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"970e69e0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","rebac_allow":false,"scope_allow":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":"970e69e0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"970e69e0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling 200 8ms","method":"POST","requestID":"970e69e0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Building connection plan","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"aedc59a7-d4ad-4db1-b4a5-e48dea6b3677"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"d6414f9d-df2c-461a-886e-8e07a052a89f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"fc485286-023b-46ca-97c6-da7d22cc3440"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"970ff080-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.612358,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"970ff080-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849875,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg3NX0.PL1K3eAYI01COits2a9-SjqlWAs4S_s9Ck8EsZ4MgvE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"970ff080-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39'. 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]}},"raw_response":{},"request_id":"991b020b-7a3f-4891-930b-ce8abca90bc1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.4654095} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e14a5b4-245f-4f6e-b7de-5e437b85ded5","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.4655406} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"970ff080-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"970ff080-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"970ff080-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e'","requestID":"970ff080-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e'","requestID":"970ff080-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"970ff080-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 20ms","method":"POST","requestID":"970ff080-243b-11f0-b067-2fe344ae06f8","responseTime":20,"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":"970ff080-243b-11f0-b067-2fe344ae06f8"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e","device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e","device":"da6890b9-4657-4055-a3f7-a063042e098a","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/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fbffab9ee4b94e546fc90d875d5469b3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97168030-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e261afc-e6ad-4b44-a3d1-2c7c7ce9e0d2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.5041535} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.79231,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"97168030-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","rebac_allow":false,"scope_allow":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":"97168030-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"da6890b9-4657-4055-a3f7-a063042e098a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"da6890b9-4657-4055-a3f7-a063042e098a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97168030-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/da6890b9-4657-4055-a3f7-a063042e098a/signaling 200 10ms","method":"POST","requestID":"97168030-243b-11f0-b067-2fe344ae06f8","responseTime":10,"status":200,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"971854f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a57b2cc-f157-4143-9128-fe83c4cec642","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.515533} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.712975,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"971854f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","rebac_allow":false,"scope_allow":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":"971854f0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"971854f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling 200 8ms","method":"POST","requestID":"971854f0-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling"} device-1 | {"device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4917786183277066271 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:JSL/\r\na=ice-pwd:FAzLnjRASdihrJfP4FB9z+Fh\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C9:88:E6:F4:67:23:26:8B:8B:53:AE:9B:FB:FE:60:17:F6:39:35:F6:47:9D:59:A6:2D:AD:7F:1B:10:26:BA: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":"da6890b9-4657-4055-a3f7-a063042e098a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7713141456136134449 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:vI1U\r\na=ice-pwd:xfKcWiHHS5qH+k1azmfu4QtZ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 64:E2:42:8A:1D:B4:86:7B:C4:DB:09:DB:F5:4E:1A:EE:DB:4B:5B:B1:77:DC:40:F0:EF:60:E5:98:4C:AA:75:5D\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1828897757 1 udp 2113937151 ab81f020-c1c1-4f3d-9e0b-59d3669ebcbd.local 50137 typ host generation 0 ufrag vI1U network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","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/d64d4332-ba77-46b3-81ee-a3408ca9d8ef'"} device-1 | {"content":{"candidate":"candidate:3137383042 1 udp 2113937151 34832c9b-09d7-4b5f-a0ef-c69b6d7ce729.local 42921 typ host generation 0 ufrag JSL/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"da6890b9-4657-4055-a3f7-a063042e098a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"da6890b9-4657-4055-a3f7-a063042e098a","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/88e18935-1cf0-4895-a4a7-56051ecabb0e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"88e18935-1cf0-4895-a4a7-56051ecabb0e","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"da6890b9-4657-4055-a3f7-a063042e098a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4aa661bee0a8b7ab92d3dcaf3aa86557","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"4aa661bee0a8b7ab92d3dcaf3aa86557","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e"}}},"level":"info","message":"received a callback","requestID":"4aa661bee0a8b7ab92d3dcaf3aa86557"} device-1 | {"device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"da6890b9-4657-4055-a3f7-a063042e098a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"88e18935-1cf0-4895-a4a7-56051ecabb0e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"4aa661bee0a8b7ab92d3dcaf3aa86557","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:18: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"4aa661bee0a8b7ab92d3dcaf3aa86557"} device-1 | {"device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"88e18935-1cf0-4895-a4a7-56051ecabb0e","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/88e18935-1cf0-4895-a4a7-56051ecabb0e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"88e18935-1cf0-4895-a4a7-56051ecabb0e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a04e5d1826bc47226e53d32abcf47ba4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"a04e5d1826bc47226e53d32abcf47ba4","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/d64d4332-ba77-46b3-81ee-a3408ca9d8ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e"}}},"level":"info","message":"received a callback","requestID":"a04e5d1826bc47226e53d32abcf47ba4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"97274910-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F88e18935-1cf0-4895-a4a7-56051ecabb0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd1017bd-42f7-4e9e-9134-152cb9a5f5d9","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.6137486} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.448021,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"97274910-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e","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":"97274910-243b-11f0-b067-2fe344ae06f8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"97274910-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"GET /peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e 200 8ms","method":"GET","requestID":"97274910-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"a04e5d1826bc47226e53d32abcf47ba4","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:18: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.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"a04e5d1826bc47226e53d32abcf47ba4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"972a7d60-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f11f9780-1f12-4652-b593-749b296ac0e1","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.658212} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.369463,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"972a7d60-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","rebac_allow":false,"scope_allow":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":"972a7d60-243b-11f0-b067-2fe344ae06f8","responseTime":28,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg4MH0.9g32iuZS1ei910vFs6tzLNlsRoADD5Rfzc5EFxIuQKs","level":"info","message":"auth send jwt","requestID":"6b7c26661becaec7a302c34ecde36488"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6b7c26661becaec7a302c34ecde36488","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0ee8209a-09ed-4294-a507-085704a416ca","requestID":"6b7c26661becaec7a302c34ecde36488"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"972a7d60-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling 200 32ms","method":"POST","requestID":"972a7d60-243b-11f0-b067-2fe344ae06f8","responseTime":32,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"972fad80-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"client_addr":"127.0.0.1:40776","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.970237,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"6b7c26661becaec7a302c34ecde36488","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849880,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg4MH0.9g32iuZS1ei910vFs6tzLNlsRoADD5Rfzc5EFxIuQKs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6b7c26661becaec7a302c34ecde36488","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19e08ece-6142-42ff-9144-72b802f1a0b2","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.6681478} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244952,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"972fad80-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","rebac_allow":false,"scope_allow":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":"972fad80-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0ee8209a-09ed-4294-a507-085704a416ca","requestID":"6b7c26661becaec7a302c34ecde36488"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"972fad80-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/da6890b9-4657-4055-a3f7-a063042e098a/signaling 200 8ms","method":"POST","requestID":"972fad80-243b-11f0-b067-2fe344ae06f8","responseTime":8,"status":200,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a/signaling"} gateway-1 | {"time_local":"28/Apr/2025:14:18:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0ee8209a-09ed-4294-a507-085704a416ca HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b7c26661becaec7a302c34ecde36488"} experiment-1 | {"level":"info","message":"GET /experiments/0ee8209a-09ed-4294-a507-085704a416ca 200 11ms","method":"GET","requestID":"6b7c26661becaec7a302c34ecde36488","responseTime":11,"status":200,"url":"/experiments/0ee8209a-09ed-4294-a507-085704a416ca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg4MH0.9g32iuZS1ei910vFs6tzLNlsRoADD5Rfzc5EFxIuQKs","level":"info","message":"auth send jwt","requestID":"bd4d09e65ca1df86d4d498cebb8c28c4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bd4d09e65ca1df86d4d498cebb8c28c4","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0ee8209a-09ed-4294-a507-085704a416ca","requestID":"bd4d09e65ca1df86d4d498cebb8c28c4"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.675855,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"bd4d09e65ca1df86d4d498cebb8c28c4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"experiment:http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca","object_type":"experiment","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849880,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg4MH0.9g32iuZS1ei910vFs6tzLNlsRoADD5Rfzc5EFxIuQKs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bd4d09e65ca1df86d4d498cebb8c28c4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Attempting to finish experiment","requestID":"bd4d09e65ca1df86d4d498cebb8c28c4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"97366440-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.71783,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"97366440-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"peerconnection:http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849880,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg4MH0.9g32iuZS1ei910vFs6tzLNlsRoADD5Rfzc5EFxIuQKs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"97366440-243b-11f0-b067-2fe344ae06f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e","device":"d64d4332-ba77-46b3-81ee-a3408ca9d8ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e","device":"da6890b9-4657-4055-a3f7-a063042e098a","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/88e18935-1cf0-4895-a4a7-56051ecabb0e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"88e18935-1cf0-4895-a4a7-56051ecabb0e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F88e18935-1cf0-4895-a4a7-56051ecabb0e': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F88e18935-1cf0-4895-a4a7-56051ecabb0e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"e4699a4d-7b08-485f-84d2-0c5976e45c28","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.721251} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99f3f45b-8e9b-493e-9aaa-76a3f509de3c","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.7215207} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"da46ee44d3ef38267331a9fcd876bdd7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"da46ee44d3ef38267331a9fcd876bdd7","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"97366440-243b-11f0-b067-2fe344ae06f8","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"59bd6841f54cf9c38445220631c85beb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/d64d4332-ba77-46b3-81ee-a3408ca9d8ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e"}}},"level":"info","message":"received a callback","requestID":"da46ee44d3ef38267331a9fcd876bdd7"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"59bd6841f54cf9c38445220631c85beb","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/d64d4332-ba77-46b3-81ee-a3408ca9d8ef"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e"}}},"level":"info","message":"received a callback","requestID":"59bd6841f54cf9c38445220631c85beb"} device-1 | {"data":{"peerconnection":"88e18935-1cf0-4895-a4a7-56051ecabb0e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"97366440-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e 204 58ms","method":"DELETE","requestID":"97366440-243b-11f0-b067-2fe344ae06f8","responseTime":58,"status":204,"url":"/peerconnections/88e18935-1cf0-4895-a4a7-56051ecabb0e"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"973f64f0-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697182,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"973f64f0-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","payload":{"admin":true,"edgeToken":"aEz8Ezv3X0h3-31g3sugDdqKWeyCofYIzXw87cwsfWQ6me78kFU16c4vcgzI4Wllvp0S1CxyUN8V_S8GF9_stw","iat":1745849880,"sub":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39","subject_alt":"http://localhost/users/0c22d50c-9f54-4033-87a8-8e710bc31f39"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzBjMjJkNTBjLTlmNTQtNDAzMy04N2E4LThlNzEwYmMzMWYzOSIsImVkZ2VUb2tlbiI6ImFFejhFenYzWDBoMy0zMWczc3VnRGRxS1dleUNvZllJelh3ODdjd3NmV1E2bWU3OGtGVTE2YzR2Y2d6STRXbGx2cDBTMUN4eVVOOFZfUzhHRjlfc3R3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0OTg4MH0.9g32iuZS1ei910vFs6tzLNlsRoADD5Rfzc5EFxIuQKs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"973f64f0-243b-11f0-b067-2fe344ae06f8","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"c64b4512-18bf-4511-8a5f-b0e03d65d19b","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.7778783} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"053a7d34-34ea-41d8-91d3-0f8192b760ae","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.7781763} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"973f64f0-243b-11f0-b067-2fe344ae06f8","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"973f64f0-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"DELETE /devices/da6890b9-4657-4055-a3f7-a063042e098a 204 40ms","method":"DELETE","requestID":"973f64f0-243b-11f0-b067-2fe344ae06f8","responseTime":40,"status":204,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0ee8209a-09ed-4294-a507-085704a416ca"},"level":"info","message":"Successfully finished experiment","requestID":"bd4d09e65ca1df86d4d498cebb8c28c4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97477b40-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd64d4332-ba77-46b3-81ee-a3408ca9d8ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"822ebf73-8e82-469d-b665-ed9aeebc400e","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.8242602} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.350736,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"97477b40-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef","object_type":"device","rebac_allow":false,"scope_allow":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":"97477b40-243b-11f0-b067-2fe344ae06f8","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97477b40-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling 200 31ms","method":"POST","requestID":"97477b40-243b-11f0-b067-2fe344ae06f8","responseTime":31,"status":200,"url":"/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"974c8450-243b-11f0-b067-2fe344ae06f8"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","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%2F0c22d50c-9f54-4033-87a8-8e710bc31f39', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0ee8209a-09ed-4294-a507-085704a416ca': 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:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0ee8209a-09ed-4294-a507-085704a416ca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F0c22d50c-9f54-4033-87a8-8e710bc31f39"}]},"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","writes":null},"raw_response":{},"request_id":"dc26ba11-ec54-4079-8574-b9dca5ac534f","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.8549087} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"raw_response":{"authorization_model":{"id":"01JSYC1DSSMS51CNY8A9MGF2MZ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a85a9fab-0521-4ccc-af5c-8b09730fbc1a","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.85529} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"bd4d09e65ca1df86d4d498cebb8c28c4","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:55808","raw_request":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","contextual_tuples":null,"store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fda6890b9-4657-4055-a3f7-a063042e098a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2eec886e-bf50-4a4f-b8da-dcd9aedb2cbf","store_id":"01JSYC1DQ6YXRMND6N0NWDM9EH","subsystem":"openfga","timestamp":1745849880.8573093} authorization-1 | {"client_addr":"127.0.0.1:60930","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.154046,"resp_status":200,"subsystem":"opa","time":"2025-04-28T14:18:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","openfga":{"authorization_model_id":"01JSYC1DSSMS51CNY8A9MGF2MZ","store":"01JSYC1DQ6YXRMND6N0NWDM9EH"},"requestID":"974c8450-243b-11f0-b067-2fe344ae06f8","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a","object_type":"device","rebac_allow":false,"scope_allow":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":"974c8450-243b-11f0-b067-2fe344ae06f8","responseTime":4,"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/da6890b9-4657-4055-a3f7-a063042e098a/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"974c8450-243b-11f0-b067-2fe344ae06f8"} device-1 | {"level":"info","message":"POST /devices/da6890b9-4657-4055-a3f7-a063042e098a/signaling 404 7ms","method":"POST","requestID":"974c8450-243b-11f0-b067-2fe344ae06f8","responseTime":7,"status":404,"url":"/devices/da6890b9-4657-4055-a3f7-a063042e098a/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":"bd4d09e65ca1df86d4d498cebb8c28c4"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0ee8209a-09ed-4294-a507-085704a416ca","requestID":"bd4d09e65ca1df86d4d498cebb8c28c4"} gateway-1 | {"time_local":"28/Apr/2025:14:18:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0ee8209a-09ed-4294-a507-085704a416ca 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":"bd4d09e65ca1df86d4d498cebb8c28c4"} experiment-1 | {"level":"info","message":"DELETE /experiments/0ee8209a-09ed-4294-a507-085704a416ca 204 280ms","method":"DELETE","requestID":"bd4d09e65ca1df86d4d498cebb8c28c4","responseTime":280,"status":204,"url":"/experiments/0ee8209a-09ed-4294-a507-085704a416ca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 235ms","method":"POST","requestID":"da46ee44d3ef38267331a9fcd876bdd7","responseTime":235,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:18: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.238","http_referrer":"","http_user_agent":"node-fetch","requestID":"da46ee44d3ef38267331a9fcd876bdd7"} gateway-1 | {"time_local":"28/Apr/2025:14:18: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.237","http_referrer":"","http_user_agent":"node-fetch","requestID":"59bd6841f54cf9c38445220631c85beb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 235ms","method":"POST","requestID":"59bd6841f54cf9c38445220631c85beb","responseTime":235,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:18:00 +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.260","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":"ea01287a6855a6ea3b8b331f2099b666"} gateway-1 | {"time_local":"28/Apr/2025:14:18: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":"5.867","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":"8c080b046cb8d2650cf8440f8bc48cb1"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/da6890b9-4657-4055-a3f7-a063042e098a' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"98856f5c45479c71152fb8a274007022","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"98856f5c45479c71152fb8a274007022","responseTime":0,"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/da6890b9-4657-4055-a3f7-a063042e098a"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"98856f5c45479c71152fb8a274007022"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 3ms","method":"POST","requestID":"98856f5c45479c71152fb8a274007022","responseTime":3,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:14:18:01 +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":"98856f5c45479c71152fb8a274007022"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d64d4332-ba77-46b3-81ee-a3408ca9d8ef' closed"} federation-1 exited with code 143 authentication-1 exited with code 143 experiment-1 exited with code 143 authorization-1 exited with code 0 device-1 exited with code 143 gateway-1 exited with code 0